Turret deployment system and method for a fire fighting vehicle

ABSTRACT

A turret control system and method for a fire fighting vehicle is disclosed. The turret control system includes one or more control modules, such as an envelope control module, turret targeting module, a turret pan module, a turret deploy module, a turret store module. The preferred turret control system also provides improved turret control flexibility and improved operator feedback.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Prov. No. 60/360,479,filed Feb. 28, 2002, entitled “Turret Control System and Method for aFire Fighting Vehicle,” and to U.S. Prov. No. 60/388,451, filed Jun. 13,2002, entitled “Control System and Method for an Equipment ServiceVehicle,” each of which is hereby expressly incorporated by reference.This application is also a continuation-in-part of U.S. Ser. No.10/326,907, filed Dec. 20, 2002, entitled “Firefighting Vehicle withNetwork-Assisted Scene Management,” pending. U.S. Ser. No. 10/326,907 isa continuation-in-part of U.S. Ser. No. 09/927,946, filed Aug. 10, 2001,entitled “Military Vehicle Having Cooperative Control Network WithDistributed I/O Interfacing,” pending, which is a continuation-in-partof U.S. Ser. No. 09/384,393, filed Aug. 27, 1999, entitled “MilitaryVehicle Having Cooperative Control Network With Distributed I/OInterfacing,” now U.S. Pat. No. 6,421,593, which is acontinuation-in-part of U.S. Ser. No. 09/364,690, filed Jul. 30, 1 999,entitled “Firefighting Vehicle Having Cooperative Control Network WithDistributed I/O Interfacing,” abandoned, each of which is herebyexpressly incorporated by reference; and is also a continuation-in-partof U.S. Ser. No. 09/500,506, filed Feb. 9, 2000, entitled “EquipmentService Vehicle Having On-Board Diagnostic System,” allowed, alsoexpressly incorporated by reference; and also claims priority to U.S.Prov. No. 60/342,292, filed Dec. 21, 2001, entitled “Vehicle Control andMonitoring System and Method,” also hereby expressly incorporated byreference.

FIELD OF THE INVENTION

[0002] The present invention relates generally to the field of firefighting vehicles. More specifically, the present invention relates toturret control systems and methods for fire fighting vehicles.

BACKGROUND OF THE INVENTION

[0003] Various vehicles are known for use in fire fighting. Firefighting vehicles, including aerial platform trucks, ladder trucks,pumpers, tankers, etc., often employ a turret for dispensing firefighting agents (e.g. water, foams, foaming agents, etc.) onto areassuch as fires, chemical spills, smoldering remains of a fire, or othersimilar areas. Such turrets typically comprise one or more arms whichare extendable, rotatable, or otherwise moveable with electric,hydraulic, or pneumatic actuator systems. While fighting a fire, theturret may be moved around in a three-dimensional space by using theactuator system to move individual arms. Once a nozzle of the turret isbrought to a particular position and orientation relative to a fire, afire fighting agent may be dispensed from the nozzle and directed at thefire.

[0004] Typically, this positioning and aiming of turrets is controlledby a human operator. According to one approach, the operator positionsand aims the turret using a joystick which is coupled to the turretactuators. Unfortunately, in situations where the fire produces a largeamount of smoke, the turret and the precise location of the fire becomeobscured from an operator's view. This situation is exacerbated by thefact that the tremendous flow of water or other fire fighting agentthrough the turret creates forces which affect turret positioning,making it even more difficult for the operator to know the preciseposition of the turret. The result is that the operator is oftensusceptible to inadvertently causing the turret to collide with otherobjects, including for example the fire fighting vehicle upon which theturret is mounted. Additionally, because the operator's view of theturret nozzle as well as the fire may be severely limited, theoperator's ability to control the position and orientation of the nozzlefor maximum fire fighting effectiveness is also severely limited.

[0005] Further, existing turret systems are often cumbersome ordifficult to operate. For example, turret systems typically allow theturret to be manually stored and locked into place to avoid damageduring vehicle travel. However, the process of storing and locking theturret can be time consuming because the proximity of the turret toother equipment on the fire fighting vehicle requires that the turret becontrolled with great care. Additionally, when the fire fighting vehiclearrives at the scene of the fire and the turret is first deployed, it isnecessary for a fire fighter to manually deploy the turret from thestored position, thereby diverting the fire fighter's attention awayfrom other important activities. Finally, the operator interface used tocontrol the turret limits the operator's ability to control the turretfrom a variety of different vantage points and with the benefit of avariety of different views of the turret and the fire. A variety ofother problems exist which relate to the difficulty and/or amount ofoperator involvement required to operate turrets.

[0006] Accordingly, it would be desirable to provide a control systemfor a turret which overcomes one or more of the above-mentionedproblems. Advantageously, such a control system would enhance firefighter safety by increasing fire fighting effectiveness. The techniquesbelow extend to those embodiments which fall within the scope of theappended claims, regardless of whether they provide any of theabove-mentioned advantageous features.

SUMMARY OF THE INVENTION

[0007] According to a first aspect, a method of controlling a firefighting vehicle having a turret comprises determining a location of aregion of interest of a fire and adjusting a position and orientation ofa nozzle of the turret responsive to the determining step. The adjustingstep is performed using a turret motion controller.

[0008] According to a second aspect, a method of controlling motion of aturret on a fire fighting vehicle comprises acquiring operator inputsand preventing the turret from impacting the fire fighting vehicle. Theoperator inputs are useable to generate first control signals to controlmotion of the turret. The operator inputs direct movement of the turretin such a way that the turret is susceptible to impacting the firefighting vehicle. The preventing step includes determining that theturret is susceptible to impacting the fire fighting vehicle, and inresponse providing the turret with second control signals that aredifferent than the first control signals. The second control signalsdirect movement of the turret in such a way that the turret does notimpact the fire fighting vehicle.

[0009] According to a third aspect, a method of controlling a turretmounted on a fire fighting vehicle comprises storing information in aturret motion controller. The information pertains to desired movementof the turret. The method further comprises controlling movement of theturret using the turret motion controller. The movement of the turret iscontrolled in accordance with the information.

[0010] Other objects, features, and advantages of the present inventionwill become apparent to those skilled in the art from the followingdetailed description and accompanying drawings. It should be understood,however, that the detailed description and specific examples, whileindicating preferred embodiments of the present invention, are given byway of illustration and not limitation. Many modifications and changeswithin the scope of the present invention may be made without departingfrom the spirit thereof, and the invention includes all suchmodifications.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011]FIG. 1 is a schematic view of a fire truck having a control systemaccording to one embodiment of the present invention;

[0012]FIG. 2 is a block diagram of the control system of FIG. 1 showingselected aspects of the control system in greater detail;

[0013]FIG. 3 is a schematic view of an aerial device having a controlsystem according to another embodiment of the present invention;

[0014]FIG. 4 is a more detailed block diagram of the control system ofFIG. 3;

[0015]FIG. 5 is a schematic view of a vehicle having a control systemaccording to another embodiment of the present invention;

[0016] FIGS. 6-7 are block diagrams of the control system of FIG. 5showing selected aspects of the control system in greater detail;

[0017]FIG. 8 is a diagram showing the memory contents of an exemplaryinterface module in greater detail;

[0018]FIG. 9 is a block diagram of the control system of FIG. 5 showingselected aspects of the control system in greater detail;

[0019]FIG. 10 is an I/O status table of FIG. 9 shown in greater detail;

[0020]FIG. 11 is a flowchart describing the operation of the controlsystem of FIG. 9 in greater detail;

[0021]FIG. 12 is a data flow diagram describing data flow through anexemplary interface module during the process of FIG. 11;

[0022]FIG. 13 is a block diagram of a fire fighting control systemcapable of controlling a turret;

[0023]FIG. 14 is a schematic representation of a turret;

[0024]FIG. 15 is a block diagram of turret I/O devices connected tointerface modules in the control system of FIG. 13;

[0025]FIG. 16 is a block diagram showing selected aspects functions ofthe control system of FIG. 1 3 in greater detail;

[0026]FIG. 17 is a flowchart showing a method for constraining a turretto a permissible travel envelope;

[0027]FIG. 18 is a flowchart showing a method for determining theposition of the turret relative to the permissible travel envelope inconnection with the method of FIG. 17;

[0028]FIG. 19 is a flowchart showing a method for determining theposition of the turret relative to the permissible travel envelope inconnection with the method of FIG. 17;

[0029]FIG. 20 is a block diagram of a first embodiment of a fireposition indicator in the block diagram of FIG. 16;

[0030]FIG. 21 is a block diagram of a second embodiment of a fireposition indicator in the block diagram of FIG. 16;

[0031]FIG. 22 is a flowchart showing operation of a turret targetingmodule in the block diagram of FIG. 16;

[0032] FIGS. 23-24 are flowcharts showing operation of turret learn andturret pan modules in the block diagram of FIG. 16;

[0033]FIG. 25 is a block diagram showing a feedback control system ofFIG. 16 in greater detail;

[0034]FIG. 26 is a block diagram of a turret control system thatcontrols first and second turrets; and

[0035]FIG. 27 is a block diagram of a flow rate control system for theturret of FIG. 14.

DETAILED DESCRIPTION OF ADDITIONAL EMBODIMENTS

[0036] Patent application Ser. No. 09/384,393, filed Aug. 27, 1999, nowU.S. Pat. No. 6,421,593, discloses various embodiments of a controlsystem architecture in connection with fire trucks and other types ofequipment service vehicles. The turret control systems and methodsdisclosed herein may be implemented using a stand-alone control systemor using one of the control system architecture embodiments described inthe aforementioned application. For convenience, the contents of theabove-mentioned application is repeated below, followed by a descriptionof a preferred turret control system and method for a fire fightingvehicle.

[0037] A. Fire Truck Control System

[0038] 1. Architecture of Fire Truck Control System

[0039] Referring now to FIG. 1, a fire truck 10 having a control system12 is illustrated. By way of overview, the control system 12 comprises acentral control unit 14, a plurality of microprocessor-based interfacemodules 20 and 30, a plurality of input devices 40 and a plurality ofoutput devices 50. The central control unit 14 and the interface modules20 and 30 are connected to each other by a communication network 60.

[0040] More specifically, the central control unit 14 is amicroprocessor-based device and includes a microprocessor 15 thatexecutes a control program 16 (see FIG. 2) stored in memory of thecentral control unit 14. In general, the control unit 14 executes theprogram to collect and store input status information from the inputdevices 40, and to control the output devices 50 based on the collectedstatus information. The control program may implement such features asan interlock system, a load manager, and a load sequencer. As describedbelow, the central control unit 14 is preferably not connected to theI/O devices 40 and 50 directly but rather only indirectly by way of theinterface modules 20 and 30, thereby enabling distributed datacollection and power distribution. The I/O devices 40 and 50 are locatedon a chassis 11 of the fire truck 10, which includes both the body andthe underbody of the fire truck 10.

[0041] In the illustrated embodiment, two different types of interfacemodules are used. The interface modules 20 interface mainly withswitches and low power indicators, such as LEDs that are integrallyfabricated with a particular switch and that are used to provide visualfeedback to an operator regarding the state of the particular switch.For this reason, the interface modules 20 are sometimes referred toherein as “SIMs” (“switch interface modules”). Herein, the referencenumeral “20” is used to refer to the interface modules 20 collectively,whereas the reference numerals 21, 22 and 23 are used to refer tospecific ones of the interface modules 20.

[0042] The interface modules 30 interface with the remaining I/O devices40 and 50 on the vehicle that do not interface to the interface modules20, and therefore are sometimes referred to herein as “VIMs” (“vehicleinterface modules”). The interface modules 30 are distinguishable fromthe interface modules 20 mainly in that the interface modules 30 arecapable of handling both analog and digital inputs and outputs, and inthat they are capable of providing more output power to drive devicessuch as gauges, valves, solenoids, vehicle lighting and so on. Theanalog outputs may be true analog outputs or they may be pulse widthmodulation outputs that are used to emulate analog outputs. Herein, thereference numeral “30” is used to refer to the interface modules 30collectively, whereas the reference numerals 31, 32, 33, 34 and 35 areused to refer to specific ones of the interface modules 30.

[0043] Although two different types of interface modules are used in theillustrated embodiment, depending on the application, it may bedesirable to use only a single type of interface module in order toreduce inventory requirements. Additionally, while in FIG. 1 three ofthe interface modules 20 and five of the interface modules 30 are shown,this arrangement is again simply one example. It may be desirable toprovide each interface module with more I/O points in order to reducethe number of interface modules that are required, or to use moreinterface modules with a smaller number of I/O points in order to makethe control system 12 more highly distributed. Of course, the number ofinterface modules will also be affected by the total number of I/Opoints in the control system.

[0044]FIG. 1 shows an approximate distribution of the interface modules20 and 30 throughout the fire truck 10. In general, in order to minimizewiring, the interface modules 20 and 30 are placed so as to be locatedas closely as possible to the input devices 40 from which input statusinformation is received and the output devices 50 that are controlled.As shown in FIG. 1, there is a large concentration of interface modules20 and 30 near the front of the fire truck 10, with an additionalinterface module 34 at mid-length of the fire truck 10 and anotherinterface module 35 at the rear of the fire truck 10. The largeconcentration of interface modules 20 and 30 at the front of the firetruck 10 is caused by the large number of switches (including those withintegral LED feedback output devices) located in a cab of the fire truck10, as well as the large number of other output devices (gauges,lighting) which tend to be located in the cab or otherwise near thefront of the fire truck 10. The interface module 34 that is located inthe middle of the truck is used in connection with I/O devices 40 and 50that are located at the fire truck pump panel (i.e., the operator panelthat has I/O devices for operator control of the fire truck's pumpsystem). The interface module 35 that is located at the rear of the firetruck 10 is used in connection with lighting and other equipment at therear of the fire truck 10.

[0045] The advantage of distributing the interface modules 20 and 30 inthis manner can be more fully appreciated with reference to FIG. 2,which shows the interconnection of the interface modules 20 and 30. Asshown in FIG. 2, the interface modules 20 and 30 receive power from apower source 100 by way of a power transmission link 103. The powertransmission link 103 may comprise for example a single power line thatis routed throughout the fire truck 10 to each of the interface modules20 and 30. The interface modules then distribute the power to the outputdevices 50, which are more specifically designated with the referencenumbers 51 a, 52 a, 53 a, 54 a-c, 55 a-c, 56 a-b, 57 a-c and 58 a-d inFIG. 2.

[0046] It is therefore seen from FIGS. 1 and 2 that the relativedistribution of the interface modules 20 and 30 throughout the firetruck 10 in combination with the arrangement of the power transmissionlink 103 allows the amount of wiring on the fire truck 10 to bedramatically reduced. The power source 100 delivers power to theinterface modules 20 and 30, which act among other things as powerdistribution centers, and not directly to the output devices 50. Becausethe interface modules 20 and 30 are located so closely to the I/Odevices 40 and 50, most of the I/O devices can be connected to theinterface modules 20 and 30 using only a few feet of wire or less. Thiseliminates the need for a wire harness that extends the length of thefire truck (about forty feet) to establish connections for each I/Odevices 40 and 50 individually.

[0047] Continuing to refer to FIG. 2, the switch interface modules 20and the interconnection of the interface modules 20 with various I/Odevices will now be described in greater detail. The interface modules20 are microprocessor-based, as previously noted, and include amicroprocessor that executes a program to enable communication over thecommunication network 60, as detailed below.

[0048] The same or a different microprocessor of the interface modules20 may also be used to process input signals received from the inputdevices 40. In particular, the interface modules 20 preferably performdebounce filtering of the switch inputs, so as to require that theposition of the switch become mechanically stable before a switchtransition is reported to the central control unit 14. For example, adelay of fifty milliseconds may be required before a switch transitionis reported. Performing this filtering at the interface modules 20reduces the amount of processing that is required by the central controlunit 14 to interpret switch inputs, and also reduces the amount ofcommunication that is required over the communication network 60 becauseeach switch transition need not be reported.

[0049] Physically, the interface modules 20 may be placed near theheadliner of a cab 17 of the fire truck 10. Traditionally, it is commonpractice to locate panels of switches along the headliner of the cab foreasy access by an operator of the fire truck. Additionally, as detailedbelow, in the preferred embodiment, the interface modules 20 areconnected to switches that have integrally fabricated LEDs forindicating the state of the output device controlled by the switch toprovide maximum operator feedback. These LEDs are output devices whichare connected to the interface modules 20. Therefore, by locating theinterface modules near the headliner of the cab, the amount of wiringrequired to connect the interface modules 20 not only to the switchesand but also to the LED indicators is reduced.

[0050] In the preferred embodiment, the interface modules 20 havebetween ten and twenty-five each of inputs and outputs and, morepreferably, have sixteen digital (on/off switch) inputs and sixteen LEDoutputs. Most of these inputs and outputs are utilized in connectionwith switches having integrally fabricated LEDs. However, it should benoted that there need not be a one-to-one correspondence between theswitches and the LEDs, and that the inputs and the outputs of theinterface modules 20 need not be in matched pairs. For example, someinputs may be digital sensors (without a corresponding output device)and some of the outputs may be ordinary digital indicators (without acorresponding input device). Additionally, the LED indicators associatedwith the switch inputs for the interface module 21 could just as easilybe driven by the interface module 23 as by the interface module 21,although this arrangement is not preferred. Of course, it is notnecessary that all of the inputs and outputs on a given interface module20 be utilized and, in fact, it is likely that some will remainunutilized.

[0051] One way of establishing a dedicated link between the I/O devices40 and 50 and the interface modules 20 is through the use of a simplehardwired link. Considering for example an input device which is aswitch, one terminal of the switch may be connected (e.g., by way of aharness connector) to an input terminal of the interface module 20 andthe other terminal of the switch may be tied high (bus voltage) or low(ground). Likewise, for an output device which is an LED, one terminalof the LED may be connected to an output terminal of the interfacemodule 20 and the other terminal of the LED may again be tied high orlow. Other dedicated links, such as RF links, could also be used.

[0052] To provide maximum operator feedback, the LEDs that are locatedwith the switches have three states, namely, off, on, and blinking. Theoff state indicates that the switch is off and therefore that the devicecontrolled by the switch is off. Conversely, the on state indicates thatthe switch is on and that the device controlled by the switch is on. Theblinking state indicates that the control system 12 recognizes that aswitch is on, but that the device which the switch controls isnevertheless off for some other reason (e.g., due to the failure of aninterlock condition, or due to the operation of the load manager or loadsequencer). Notably, the blinking LED feedback is made possible by thefact that the LEDs are controlled by the control unit 14 and notdirectly by the switches themselves, since the switches themselves donot necessarily know the output state of the devices they control.

[0053] A specific example will now be given of a preferredinterconnection of the interface modules 21, 22, and 23 with a pluralityof I/O devices 40 and 50. Many or all of the I/O devices 40 and 50 couldbe the same as those that have previously been used on fire trucks.Additionally, it should be noted that the example given below is justone example, and that a virtually unlimited number of configurations arepossible. This is especially true since fire trucks tend to be sold oneor two at a time and therefore each fire truck that is sold tends to beunique at least in some respects.

[0054] In FIG. 2, the interface module 21 receives inputs from switches41 a that control the emergency lighting system of the fire truck. Aspreviously noted, the emergency lighting system includes the flashingemergency lights (usually red and white) that are commonly associatedwith fire trucks and that are used to alert other motorists to thepresence of the fire truck on the roadway or at the scene of a fire. Oneof the switches 41 a may be an emergency master on/off (E-master) switchused to initiate load sequencing, as described in greater detail below.The interface module 21 may also be connected, for example, to switches41 b that control the emergency siren and horn. The interface module 21is also connected to LEDs 51 a that are integrally located in theswitches 41 a and 41 b and that provide operator feedback regarding thepositions of the switches 41 a and 41 b, as previously described.

[0055] The interface module 22 receives inputs from switches 42 a thatcontrol lighting around the perimeter of the fire truck 10, switches 42b that control scene lighting, and switches 42 c that control lightingwhich aids the operators in viewing gauges and other settings at thepump panel. The interface module 22 is also connected to LEDs 52 a thatare integrally located in the switches 42 a, 42 b and 42 c and thatprovide operator feedback regarding the positions of the switches 42 a,42 b and 42 c.

[0056] The interface module 23 receives inputs from switches 43 a thatcontrol heating and air conditioning, and switches 43 b that controlsmiscellaneous other electrical devices. The interface module 23 isconnected to LED indicators, some of which may be integrally locatedwith the switches 43 a and 43 b and others of which may simply be an LEDindicator that is mounted on the dashboard or elsewhere in the cab ofthe fire truck 10.

[0057] Continuing to refer to FIG. 2, the vehicle interface modules 30and the interconnection of the interface modules 20 with various I/Odevices will now be described in greater detail. As previouslymentioned, the interface modules 30 are distinguishable from theinterface modules 20 mainly in that the interface modules 30 are capableof handling both analog and digital inputs and outputs, and in that theyare capable of providing more output power to drive output devices suchas digitally-driven gauges, solenoids, and so on. The interface modules30 preferably have between fifteen and twenty-five each inputs andoutputs and, more preferably, have twenty inputs (including six digitalinputs, two frequency counter inputs, and six analog inputs) and twentyoutputs (including six outputs that are configurable as analog outputs).

[0058] Like the interface modules 20, the interface modules 30 aremicroprocessor-based and include a microprocessor that executes aprogram to enable communication over the communication network 60. Thesame or a different microprocessor of the interface modules 30 may alsobe used to process input signals received from the input devices 40 andto process output signals transmitted to the output devices 50.

[0059] For the interface modules 30, this processing includes not onlydebounce filtering, in the case of switch inputs, but also a variety ofother types of processing. For example, for analog inputs, thisprocessing includes any processing that is required to interpret theinputs from analog-to-digital (A/D) converters, including convertingunits. For frequency inputs, this processing includes any processingthat is required to interpret inputs from frequency-to-digitalconverters, including converting units. This processing also includesother simple filtering operations. For example, in connection with oneanalog input, this processing may include notifying the central controlunit 14 of the status of an input device only every second or so. Inconnection with another analog input, this processing may includeadvising the central control unit 14 only when the status of the inputdevice changes by a predetermined amount. For analog output devices,this processing includes any processing that is required to interpretthe outputs for digital-to-analog (D/A) converters, including convertingunits. For digital output devices that blink or flash, this processingincludes implementing the blinking or flashing (i.e., turning the outputdevice on and off at a predetermined frequency) based on an instructionfrom the central control unit 14 that the output device should blink orflash. In general, the processing by the interface modules 30 reducesthe amount of information which must be communicated over thecommunication link, and also reduces the amount of time that the centralcontrol unit 14 must spend processing minor changes in analog inputstatus.

[0060] Preferably, the configuration information required to implementthe I/O processing that has just been described is downloaded from thecentral control unit 14 to each interface module 30 (and each interfacemodule 20) at power-up. Additionally, the harness connector thatconnects to each of the interface modules 20 and 30 are preferablyelectronically keyed, such that being connected to a particular harnessconnector provides the interface modules 20 and 30 with a uniqueidentification code (for example, by tying various connector pins highand low to implement a binary code). The advantage of this approach isthat the interface modules 20 and 30 become interchangeable devices thatare customized only at power-up. As a result, if one of the interfacemodules 30 malfunctions, for example, a new interface module 30 can beplugged into the control system 12, customized automatically at power-up(without user involvement), and the control system 12 then becomes fullyoperational. This enhances the maintainability of the control system 12.

[0061] A specific example will now be given of a preferredinterconnection of the interface modules 31, 32, and 33 with a pluralityof I/O devices 40 and 50. This example continues the example that wasstarted in connection with the interface modules 21, 22, and 23. Again,it should be noted that the configuration described herein is just oneexample.

[0062] The interface modules 31, 32, 33, 34 and 35 all receive inputsfrom additional switches and sensors 44 a, 45 a, 46 a, 47 a and 48 a.The switches may be additional switches that are located in the cab ofthe fire truck or elsewhere throughout the vehicle, depending on thelocation of the interface module. The sensors may be selected ones of avariety of sensors that are located throughout the fire truck. Thesensors may be used to sense the mechanical status of devices on thefire truck, for example, whether particular devices are engaged ordisengaged, whether particular devices are deployed, whether particulardoors on the fire truck are open or closed, and so on. The sensors mayalso be used to sense fluid levels such as fuel level, transmissionfluid level, coolant level, foam pressure, oil level, and so on.

[0063] In addition to the switches and sensors 44 a, the interfacemodule 31 is also connected to a portion 54 a of the emergency lightingsystem. The emergency lighting system includes emergency lights (usuallyred and white) at the front, side and rear of the fire truck 10. Theemergency lights may, for example, be in accordance with the guidelinesprovided by the National Fire Protection Association. Because theinterface module 31 is located at the front of the fire truck, theinterface module 31 is connected to the red and white emergency lightsat the front of the fire truck.

[0064] The interface module 31 is also connected to gauges andindicators 54 b which are located on the dashboard of the fire truck 10.The gauges may indicate fluid levels such as fuel level, transmissionfluid level, coolant level, foam pressure, oil level and so on. Theindicators may include, for example, indicators that are used to displaydanger, warning and caution messages, warning lights, and indicatorsthat indicate the status of various mechanical and electrical systems onthe fire truck. The interface module 31 may also be connected, forexample, to an emergency sound system including an emergency siren andemergency air horns 54 c, which are used in combination with theemergency lights 54 a.

[0065] In addition to the switches and sensors 45 a, the interfacemodule 32 is also connected to perimeter lighting 55 a, scene lighting55 b and utility lighting 55 c. The perimeter lighting 55 a illuminatesthe perimeter of the fire truck 10. The scene lighting 55 b includesbright flood lights and/or spot lights to illuminate the work area at afire. The utility lighting 55 c includes lighting used to light operatorpanels, compartments and so on of the fire truck 10.

[0066] In addition to the switches and sensors 46i a, the interfacemodule 33 is also connected to PTO sensors 46 b. The PTO sensors 46 bmonitor the status of a power take-off mechanism 97 (see FIG. 1), whichdiverts mechanical power from the engine/transmission from the wheels toother mechanical subsystems, such as the pump system, an aerial systemand so on. The interface module 33 is also connected to a portion 56 aof the FMVSS (Federal Motor Vehicle Safety Standard) lighting. The FMVSSlighting system includes the usual types of lighting systems that arecommonly found on most types of vehicles, for example, head lights, taillights, brake lights, directional lights (including left and rightdirectionals), hazard lights, and so on. The interface module 33 is alsoconnected to the heating and air conditioning 56 b.

[0067] In addition to the switches and sensors 47 a, the interfacemodule 34, which is disposed near the pump panel, is connected to pumppanel switches and sensors 47 a, pump panel gauges and indicators 57 a,pump panel lighting 57 b, and perimeter lighting 57 c. The pump systemmay be manually controlled or may be automatically controlled throughthe use of electronically controlled valves. In either case, the variousfluid pressures are measured by sensors and displayed on the gauges andindicators 57 a.

[0068] Finally, in addition to the switches and sensors 48 a, theinterface module 35 is also connected to emergency lighting 58 a, scenelighting 58 b, FMVSS lighting 58 c, and the utility lighting 58 d. Theselighting systems have been described above.

[0069] The interface modules 20 and the interface modules 30 areconnected to the central control unit 14 by the communication network60. The communication network may be implemented using a networkprotocol, for example, which is in compliance with the Society ofAutomotive Engineers (SAE) J1708/1587 and/or J1939 standards. Theparticular network protocol that is utilized is not critical, althoughall of the devices on the network should be able to communicateeffectively and reliably.

[0070] The transmission medium may be implemented using copper or fiberoptic cable. Fiber optic cable is particularly advantageous inconnection with fire trucks because fiber optic cable is substantiallyimmune to electromagnetic interference, for example, from communicationantennae on mobile news vehicles, which are common at the scenes offires. Additionally, fiber optic cable is advantageous because itreduces RF emissions and the possibility of short circuits as comparedto copper-based networks. Finally, fiber optic cable is advantageousbecause it reduces the possibility of electrocution as compared tocopper in the event that the cable accidentally comes into contact withpower lines at the scene of a fire.

[0071] Also connected to the communication network 60 are a plurality ofdisplays 81 and 82. The displays 81 and 82 permit any of the datacollected by the central control unit 14 to be displayed to thefirefighters in real time. In practice, the data displayed by thedisplays 81 and 82 may be displayed in the form of text messages and maybe organized into screens of data (given that there is too much data todisplay at one time) and the displays 81 and 82 may include membranepushbuttons that allow the firefighters to scroll through, page through,or otherwise view the screens of data that are available. Additionally,although the displays 81 and 82 are both capable of displaying any ofthe information collected by the central control unit 14, in practice,the displays 81 and 82 are likely to be used only to display selectedcategories of information. For example, assuming the display 81 islocated in the cab and the display 82 is located at the pump panel, thedisplay 81 is likely to be used to display information that pertains todevices which are controlled from within the cab, whereas the display 82is likely to be used to display information pertaining to the operationof the pump panel. Advantageously, the displays 81 and 82 givefirefighters instant access to fire truck information at a singlelocation, which facilitates both normal operations of the fire truck aswell as troubleshooting if problems arise.

[0072] Also shown in FIG. 2 is a personal computer 85 which is connectedto the control unit 14 by way of a communication link 86, which may be amodem link, an RS-232 link, an Internet link, and so on. The personalcomputer 85 allows diagnostic software to be utilized for remote orlocal troubleshooting of the control system 12, for example, throughdirect examination of inputs, direct control of outputs, and viewing andcontrolling internal states, including interlock states. Because all I/Ostatus information is stored in the central control unit 14, thisinformation can be easily accessed and manipulated by the personalcomputer 85. If a problem is encountered, the personal computer can beused to determine whether the central control unit 14 considers all ofthe interface modules 20 and 30 to be “on-line” and, if not, theoperator can check for bad connections and so on. If a particular outputdevice is not working properly, the personal computer 85 can be used totrace the I/O status information from the switch or other input devicethrough to the malfunctioning output device. For example, the personalcomputer 85 can be used to determine whether the switch state is beingread properly, whether all interlock conditions are met, and so on.

[0073] The personal computer 85 also allows new firmware to bedownloaded to the control unit 14 remotely (e.g., from a different cityor state or other remote location by way of the Internet or a telephonelink) by way of the communication link 86. The firmware can be firmwarefor the control unit 14, or it can be firmware for the interface modules20 and 30 that is downloaded to the control unit 14 and then transmittedto the interface modules 20 and 30 by way of the communication network60.

[0074] Finally, referring back to FIG. 1, several additional systems areshown which will now be briefly described before proceeding to adiscussion of the operation of the control system 12. In particular,FIG. 1 shows an engine system including an engine 92 and an enginecontrol system 91, a transmission system including a transmission 93 anda transmission control system 94, and an anti-lock brake systemincluding an anti-lock brake control system 95 and anti-lock brakes 96.The transmission 93 is mechanically coupled to the engine 92, and isitself further mechanically coupled to a PTO system 97. The PTO system97 allows mechanical power from the engine to be diverted to waterpumps, aerial drive mechanisms, stabilizer drive mechanisms, and so on.In combination, the engine system, the transmission system and the PTOsystem form the power train of the fire truck 10.

[0075] The control systems 92, 94 and 95 may be connected to the centralcontrol unit 14 using the same or a different communication network thanis used by the interface modules 30 and 40. In practice, the controlsystems 92, 94 and 95 are likely to be purchased as off-the-shelfsystems, since most fire truck manufacturers purchase rather thanmanufacture engine systems, transmission systems and anti-lock brakesystems. As a result, it is likely that the control systems 92, 94 and95 will use a variety of different communication protocols and thereforethat at least one additional communication network will be required.

[0076] By connecting the systems 92, 94 and 95 to the central controlunit 14, an array of additional input status information becomesavailable to the control system 12. For example, for the engine, thisallows the central control unit 14 to obtain I/O status informationpertaining to engine speed, engine hours, oil temperature, oil pressure,oil level, coolant level, fuel level, and so on. For the transmission,this allows the central control unit 14 to obtain, for example,information pertaining transmission temperature, transmission fluidlevel and/or transmission state (1st gear, 2nd gear, and so on).Assuming that an off-the-shelf engine or transmission system is used,the information that is available depends on the manufacturer of thesystem and the information that they have chosen to make available.

[0077] Connecting the systems 92, 94 and 95 to the central control unit14 is advantageous because it allows information from these subsystemsto be displayed to firefighters using the displays 81 and 82. This alsoallows the central control unit 14 to implement various interlockconditions as a function of the state of the transmission, engine orbrake systems. For example, in order to turn on the pump system (whichis mechanically driven by the engine and the transmission), an interlockcondition may be implemented that requires that the transmission be inneutral or 4th lockup (i.e., fourth gear with the torque converterlocked up), so that the pump can only be engaged when the wheels aredisengaged from the power train. The status information from thesesystems can therefore be treated in the same manner as I/O statusinformation from any other discrete I/O device on the fire truck 10. Itmay also be desirable to provide the central control unit 14 with alimited degree of control over the engine and transmission systems, forexample, enabling the central control unit 14 to issue throttle commandrequests to the engine control system 91. This allows the centralcontrol unit to control the speed of the engine and therefore thevoltage developed across the alternator that forms part of the powersource 100.

[0078] 2. Aerial Control

[0079] Referring now to FIG. 3, a preferred embodiment of a fire truck1210 with an aerial 1211 having an aerial control system 1212 isillustrated. By way of overview, the control system 1212 comprises anaerial central control unit 1214, a plurality of microprocessor-basedinterface modules 1220, 1230 and 1235, a plurality of input devices 1240and a plurality of output devices 1250. The central control unit 1214and the interface modules 1220, 1230 and 1235 are connected to eachother by a communication network 1260.

[0080] The control system 1212 is similar in most respect to the controlsystem 12, with the primary difference being that the control system1212 is used to control the output devices 1250 on the aerial 1211 basedon input status information from the input devices 1240, rather than tocontrol the output devices 50 on the chassis 11. The interface modules1220 and 1230 may be identical to the interface modules 20 and 30,respectively, and the central control unit 1214 may be identical to thecentral control unit 14 except that a different control program isrequired in connection with the aerial 1211. Accordingly, the discussionabove regarding the interconnection and operation of the interfacemodules 20 and 30 with the input devices 40 and output devices 50applies equally to the central control unit 1214, except to the extentthat the control system 1212 is associated with the aerial 1211 and notwith the chassis 11.

[0081] The aerial control system 1212 also includes the interfacemodules 1225-1227, which are similar to the interface modules 20 and 30except that different I/O counts are utilized. In the preferredembodiment, the interface modules 1225-1227 have twenty-eight switchinputs (two of which are configurable as frequency inputs). Aspreviously noted, rather than using several different types of interfacemodules, it may be desirable to use only a single type of interfacemodule in order to reduce inventory requirements. Additionally, thenumber of interface modules and the I/O counts are simply one example ofa configuration that may be utilized.

[0082] It is desirable to use a control system 1212 for the aerial 1211which is separate from the control system 12 in order to provide a clearseparation of function between systems associated with the aerial 1211and systems associated with the chassis 11. Additionally, as a practicalmatter, many fire trucks are sold without aerials and thereforeproviding a separate aerial control system enables a higher levelcommonality with respect to fire trucks that have aerials and firetrucks that do not have aerials.

[0083] With reference to FIG. 4, a specific example will now be given ofa preferred interconnection of the interface modules with a plurality ofinput devices 1240 and output devices 1250. The interface module 1221receives inputs from switches 1241 a which may include for example anaerial master switch that activates aerial electrical circuits, anaerial PTO switch that activates the transmission to provide rotationalinput power for the hydraulic pump, and a platform leveling switch thatmomentarily activates a platform (basket) level electrical circuit tolevel the basket relative to the current ground grade condition. The LEDindicators 1251 provide visual feedback regarding the status of theinput switches 1241 a.

[0084] The interface modules 1225 and 1231 are located near aground-level control station at a rear of the fire truck 10. Theinterface modules 1225 and 1231 receive inputs from switches 1242 a and1243 a that include, for example, an auto level switch that activates acircuit to level the fire truck using the stabilizer jacks and anoverride switch that overrides circuits for emergency operation. Theinterface modules 1225 and 1231 may also receive inputs from an operatorpanel such as a stabilizer control panel 1242 b, which includes switchesthat control the raising and lowering of front and rear stabilizerjacks, and the extending and retracting of front and rear stabilizerjacks. The stabilizer is an outrigger system which is deployed toprevent the fire truck from becoming unstable due to the deployment ofan aerial system (e.g., an eighty-five foot extendable ladder). Theinterface module 1231 may drive outputs that are used to controldeployment the stabilizer, which can be deployed anywhere between zeroand five feet.

[0085] The interface modules 1226 and 1232 are located near a turn table1218 at the rear of the fire truck 10. The interface modules may receiveinputs from switches and sensors 1244 a and 1245 a, as well as switchesthat are part of an aerial control panel 1245 b and are used to controlthe extension/retraction, raising/lowering, and rotation of the aerial1211. The interface modules 1226 and 1232 drive outputs that control theextension/retraction, raising/lowering, and rotation of the aerial 1211,as well as LED indicators 1254 b that provide operator feedbackregarding the positions of switches and other I/O status information.The interface modules 1227 and 1233 are located in the basket of theaerial and provide duplicate control for the extension/retraction,raising/lowering, and rotation of the aerial.

[0086] Additional inputs and outputs 1251 b may be used to establish acommunication link between the control system 12 and the control system1212. In other words, the digital on/off outputs of one control systemcan be connected to the switch inputs of the other control system, andvice versa. This provides for a mechanism of transferring I/O statusinformation back and forth between the two control systems 12 and 1212.

[0087] In another embodiment, the portion of the communication networkthat connects the interface modules 1227 and 1233 to the remainder ofthe control system 1212 may be implemented using a wireless link. Thewireless link may be implemented by providing the interface module s1227 and 1233 with wireless RF communication interfaces such as aBluetooth interfaces. A wireless link may be advantageous in someinstances in order to eliminate maintenance associated with the networkharness that extends from the main vehicle body along the articulatedarm formed by the aerial 1211 to the interface modules 1227 and 1233.Also, given that portions of the network harness can be positioned atsignificant distances from the center of gravity of the vehicle 10, theuse of a wireless link is advantageous in that it reduces the weight ofthe articulated arm, thereby enhancing the mechanical stability of thevehicle. In this regard, it may also be noted that it is possible toprovide all of the interface modules on the vehicle 10 with the abilityto communicate wirelessly with each other (e.g., using Bluetooth),thereby completely eliminating the need for a separate network harness.

[0088] The control system 1212 has complete motion control of the aerial1211. To this end, the control program 1216 includes an envelope motioncontroller 1216 a, load motion controller 1216 b and interlockcontroller 1216 c. Envelope motion control refers to monitoring theposition of the aerial and preventing the aerial from colliding with theremainder of the fire truck 10, and otherwise preventing undesirableengagement of mechanical structures on the fire truck due to movement ofthe aerial. Envelope motion control is implemented based on the knowndimensions of the aerial 1211 and the known dimensions and position ofother fire truck structures relative to the aerial 1211 (e.g., theposition and size of the cab 17 relative to the aerial 1211) and theposition of the aerial 1211 (which is measured with feedback sensors1244 a and 1245 a). The control system 1212 then disallows inputs thatwould cause the undesirable engagement of the aerial 1211 with otherfire truck structures.

[0089] Load motion control refers to preventing the aerial fromextending so far that the fire truck tips over due to unbalancedloading. Load motion control is implemented by using an appropriatesensor to measure the torque placed on the cylinder that mechanicallycouples the aerial 1211 to the remainder of the fire truck. Based on thetorque and the known weight of the fire truck, it is determined when thefire truck is close to tipping, and warnings are provided to theoperator by way of text messages and LED indicators.

[0090] Interlock control refers to implementing interlocks for aerialsystems. For example, an interlock may be provided that require theparking brake be engaged before allowing the aerial to move, thatrequire the stabilizers to be extended and set before moving the aerial1211, that require that the aerial PTO be engaged before attempting tomove the aerial, and so on.

[0091] Advantageously, therefore, the control system makes the operationof the aerial much safer. For example, with respect to load motioncontrol, the control system 1212 automatically alerts firefighters ifthe extension of the aerial is close to causing the fire truck to tipover. Factors such as the number and weight of people in the basket1219, the amount and weight of equipment in the basket 1219, the extentto which the stabilizers are deployed, whether and to what extent wateris flowing through aerial hoses, and so on, are taken into accountautomatically by the torque sensors associated with the cylinder thatmounts the aerial to the fire truck. This eliminates the need for afirefighter to have to monitor these conditions manually, and makes itpossible for the control system 1212 to alert an aerial operator tounsafe conditions, and puts less reliance on the operator to make surethat the aerial is operating under safe conditions.

[0092] 3. Alternative Control System Architecture

[0093] Referring now to FIG. 5, an architecture for an alternativecontrol system 1412 according to another preferred embodiment of theinvention is illustrated. By way of overview, the control system 1412comprises a plurality of microprocessor-based interface modules 1420, aplurality of input and output devices 1440 and 1450 (see FIG. 6) thatare connected to the interface modules 1420, and a communication network1460 that interconnects the interface modules 1420. The control system1412 is generally similar to the control system 12, but includes severalenhancements. The control system 1412 preferably operates in the samemanner as the control system 12 except to the extent that differencesare outlined are below.

[0094] The interface modules 1420 are constructed in generally the samemanner as the interface modules 20 and 30 and each include a pluralityof analog and digital inputs and outputs. The number and type of inputsand outputs may be the same, for example, as the vehicle interfacemodules 30. Preferably, as described in greater detail below, only asingle type of interface module is utilized in order to increase thefield serviceability of the control system 1412. Herein, the referencenumeral 1420 is used to refer to the interface modules 1420collectively, whereas the reference numerals 1421-1430 are used to referto specific ones of the interface modules 1420. The interface modulesare described in greater detail in connection with FIGS. 6-8.

[0095] Also connected to the communication network 1460 are a pluralityof displays 1481 and 1482 and a data logger 1485. The displays 1481 and1482 permit any of the data collected by the control system 1412 to bedisplayed in real time, and also display warning messages. The displays1481 and 1482 also include membrane pushbuttons that allow the operatorsto scroll through, page through, or otherwise view the screens of datathat are available. The membrane pushbuttons may also allow operators tochange values of parameters in the control system 1412. The data logger1485 is used to store information regarding the operation of the vehicle1410. The data logger 1485 may also be used as a “black box recorder” tostore information logged during a predetermined amount of time (e.g.,thirty seconds) immediately prior to the occurrence of one or moretrigger events (e.g., events indicating that the vehicle 1410 has beendamaged or rendered inoperative, such as when an operational parametersuch as an accelerometer threshold has been exceeded).

[0096] Finally, FIG. 5 shows an engine system including an engine 1492and an engine control system 1491, a transmission system including atransmission 1493 and a transmission control system 1494, and ananti-lock brake system including an anti-lock brake control system 1495.These systems may be interconnected with the control system 1412 ingenerally the same manner as discussed above in connection with theengine 92, the engine control system 91, the transmission 93, thetransmission control system 94, and the anti-lock brake system 36 ofFIG. 1.

[0097] Referring now also to FIG. 6-8, the structure and interconnectionof the interface modules 1420 is described in greater detail. Referringfirst to FIG. 6, the interconnection of the interface modules 1420 witha power source 1500 is described. The interface modules 1420 receivepower from the power source 1500 by way of a power transmission link1502. The interface modules 1420 are distributed throughout the vehicle1410, with some of the interface modules 1420 being located on thechassis 1417 and some of the interface modules 1420 being located on avariant module 1413. The variant module 1413 may be a module that isremovable/replaceable to provide the vehicle 1410 with different typesof functionality.

[0098] The control system is subdivided into three control systemsincluding a chassis control system 1511, a variant control system 1512,and an auxiliary control system 1513. The chassis control system 1511includes the interface modules 1421-1425 and the I/O devices 1441 and1451, which are all mounted on the chassis 1417. The variant controlsystem 1512 includes the interface modules 1426-1428 and the I/O devices1442 and 1452, which are all mounted on the variant module 1413. Theauxiliary control system 1513 includes the interface modules 1429-1430and the I/O devices 1443 and 1453, which may be mounted on either thechassis 1417 or the variant module 1413 or both.

[0099] The auxiliary control system 1513 may, for example, be used tocontrol a subsystem that is disposed on the variant module but that islikely to be the same or similar for all variant modules (e.g., alighting subsystem that includes headlights, tail lights, brake lights,and blinkers). The inclusion of interface modules 1420 within aparticular control system may also be performed based on location ratherthan functionality. For example, if the variant module 1413 has anaerial device, it may be desirable to have one control system for thechassis, one control system for the aerial device, and one controlsystem for the remainder of the variant module. Additionally, althougheach interface module 1420 is shown as being associated with only one ofthe control systems 1511-1513, it is possible to have interface modulesthat are associated with more than one control system. It should also benoted that the number of sub-control systems, as well as the number ofinterface modules, is likely to vary depending on the application. Forexample, a mobile command vehicle is likely to have more controlsubsystems than a wrecker variant, given the large number of I/O devicesusually found on mobile command vehicles.

[0100] The power transmission link 1502 may comprise a single power linethat is routed throughout the vehicle 1410 to each of the interfacemodules 1420, but preferably comprises redundant power lines. Again, inorder to minimize wiring, the interface modules 1420 are placed so as tobe located as closely as possible to the input devices 1440 from whichinput status information is received and the output devices 1450 thatare controlled. This arrangement allows the previously-describedadvantages associated with distributed data collection and powerdistribution to be achieved. Dedicated communication links, which mayfor example be electric or photonic links, connect the interface modules1421-1430 modules with respective ones of the I/O devices, as previouslydescribed.

[0101] Referring next to FIG. 7, the interconnection of the interfacemodules 1420 by way of the communication network 1460 is illustrated. Aspreviously indicated, the control system 1412 is subdivided into threecontrol systems 1511, 1512 and 1513. In accordance with thisarrangement, the communication network 1460 is likewise furthersubdivided into three communication networks 1661, 1662, and 1663. Thecommunication network 1661 is associated with the chassis control system1511 and interconnects the interface modules 1421-1425. Thecommunication network 1662 is associated with the variant control system1512 and interconnects the interface modules 1426-1428. Thecommunication network 1663 is associated with the auxiliary controlsystem 1513 and interconnects the interface modules 1429-1430.Communication between the control systems 1511-1513 occurs by way ofinterface modules that are connected to multiple ones of the networks1661-1663. Advantageously, this arrangement also allows the interfacemodules to reconfigure themselves to communicate over another network inthe event that part or all of their primary network is lost.

[0102] In practice, each of the communication networks 1661-1663 may beformed of two or more communication networks to provide redundancywithin each control system. Indeed, the connection of the variousinterface modules 1420 with different networks can be as complicated asnecessary to obtain the desired level of redundancy. For simplicity,these potential additional levels of redundancy will be ignored in thediscussion of FIG. 7 contained herein.

[0103] The communication networks 1661-1663 may be implemented inaccordance with SAE J1708/1587 and/or J1939 standards, or some othernetwork protocol, as previously described. The transmission medium ispreferably fiber optic cable for robustness.

[0104] When the variant module 1413 is mounted on the chassis 1417,connecting the chassis control system 1511 and the variant controlsystem 1512 is achieved simply through the use of two mating connectors1681 and 1682 that include connections for one or more communicationbusses, power and ground. The chassis connector 1682 is also physicallyand functionally mateable with connectors for other variant modules,i.e., the chassis connector and the other variant connectors are notonly capable of mating physically, but the mating also produces aworkable vehicle system. A given set of switches or other controldevices 1651 on the dash (see FIG. 5) may then operate differentlydepending on which variant is connected to the chassis. Advantageously,therefore, it is possible to provide a single interface between thechassis and the variant module (although multiple interfaces may also beprovided for redundancy). This avoids the need for a separate connectoron the chassis for each different type of variant module, along with theadditional unutilized hardware and wiring, as has conventionally beenthe approach utilized.

[0105] Upon power up, the variant control system 1512 and the chassiscontrol system 1511 exchange information that is of interest to eachother. For example, the variant control system 1512 may communicate thevariant type of the variant module 1413. Other parameters may also becommunicated. For example, information about the weight distribution onthe variant module 1413 may be passed along to the chassis controlsystem 1511, so that the transmission shift schedule of the transmission1493 can be adjusted in accordance with the weight of the variant module1413, and so that a central tire inflation system can control theinflation of tires as a function of the weight distribution of thevariant. Similarly, information about the chassis can be passed along tothe variant. For example, where a variant module is capable of beingused by multiple chassis with different engine sizes, engine informationcan be communicated to a wrecker variant module so that the wreckervariant knows how much weight the chassis is capable of pulling. Thus,an initial exchange of information in this manner allows the operationof the chassis control system 1511 to be optimized in accordance withparameters of the variant module 1413, and vice versa.

[0106] Referring next to FIG. 8, an exemplary one of the interfacemodules 1420 is shown in greater detail. The interface modules 1420 eachinclude a microprocessor 1815 that is sufficiently powerful to alloweach interface module to serve as a central control unit. The interfacemodules are identically programmed and each include a memory 1831 thatfurther includes a program memory 1832 and a data memory 1834. Theprogram memory 1832 includes BIOS (basic input/output system) firmware1836, an operating system 1838, and application programs 1840, 1842 and1844. The application programs include a chassis control program 1840,one or more variant control programs 1842, and an auxiliary controlprogram 1844. The data memory 1834 includes configuration information1846 and I/O status information 1848 for all of the modules 1420-1430associated with the chassis 1417 and its variant module 1413, as well asconfiguration information for the interface modules (N+1 to Z in FIG. 8)of other variant modules that are capable of being mounted to thechassis 1417.

[0107] It is therefore seen that all of the interface modules 1420 thatare used on the chassis 1417 and its variant module 1413, as well as theinterface modules 1420 of other variant modules that are capable ofbeing mounted to the chassis 1417, are identically programmed andcontain the same information. Each interface module 1420 then utilizesits network address to decide when booting up which configurationinformation to utilize when configuring itself, and which portions ofthe application programs 1840-1844 to execute given its status as amaster or non-master member of one of the control systems 1511-1513. Amaster interface module may be used to provide a nexus for interfaceoperations with devices external to the control systems 1511-1513. Theinterface modules are both physically and functionally interchangeablebecause the interface modules are capable of being plugged in at anyslot on the network, and are capable of performing any functions thatare required at that slot on the network.

[0108] This arrangement is highly advantageous. Because all of theinterface modules 1420 are identically programmed and store the sameinformation, the interface modules are physically and functionallyinterchangeable within a given class of vehicles. The use of a singletype of interface module makes it easier to find replacement interfacemodules and therefore enhances the field serviceability of the controlsystem 1412.

[0109] Additionally, as previously noted, each interface module 1420stores I/O status information for all of the modules 1420-1430associated with the chassis 1417 and its variant module 1413. Therefore,each interface module 1420 has total system awareness. As a result, itis possible to have each interface module 1420 process its own inputsand outputs based on the I/O status information in order to increasesystem responsiveness and in order to reduce the amount of communicationthat is required with the central control unit. The main managementresponsibility of the central control unit or master interface moduleabove and beyond the responsibilities of all the other interface modules1420 then becomes, for example, to provide a nexus for interfaceoperations with devices that are external to the control system of whichthe central control unit is a part.

[0110] Referring now to FIGS. 9-12, a preferred technique fortransmitting I/O status information between the interface modules 1420will now be described. Although this technique is primarily described inconnection with the chassis control system 1511, this technique ispreferably also applied to the variant control system 1512 and theauxiliary control system 1513, and/or in the control system 12.

[0111] Referring first to FIG. 9, as previously described, the chassiscontrol system 1511 includes the interface modules 1421-1425, the inputdevices 1441, and the output devices 1451. Also shown in FIG. 9 are thedisplay 1481, the data logger 1485, and the communication network 1661which connects the interface modules 1421-1425. In practice, the systemmay include additional devices, such as a plurality of switch interfacemodules connected to additional I/O devices, which for simplicity arenot shown. The switch interface modules may be the same as the switchinterface modules 20 previously described and, for example, may beprovided in the form of a separate enclosed unit or in the more simpleform of a circuit board mounted with associated switches and low poweroutput devices. In practice, the system may include other systems, suchas a display interface used to drive one or more analog displays (suchas gauges) using data received from the communication network 1661. Anyadditional modules that interface with I/O devices preferably broadcastand receive I/O status information and exert local control in the samemanner as detailed below in connection with the interface modules1421-1425. As previously noted, one or more additional communicationnetworks may also be included which are preferably implemented inaccordance with SAE J1708/1587 and/or J1939 standards. The communicationnetworks may be used, for example, to receive I/O status informationfrom other vehicle systems, such as an engine or transmission controlsystem. Arbitration of I/O status broadcasts between the communicationnetworks can be performed by one of the interface modules 1420.

[0112] To facilitate description, the input devices 1441 and the outputdevices 1451 have been further subdivided and more specifically labeledin FIG. 9. Thus, the subset of the input devices 1441 which areconnected to the interface module 1421 are collectively labeled with thereference numeral 1541 and are individually labeled as having respectiveinput states I-11 to I-15. Similarly, the subset of the output devices1451 which are connected to the interface module 1421 are collectivelylabeled with the reference numeral 1551 and are individually labeled ashaving respective output states O-11 to O-15. A similar pattern has beenfollowed for the interface modules 1422-1425, as summarized in Table Ibelow: TABLE I Interface Input Output Module Devices Input StatesDevices Output States 1421 1541 I-11 to I-15 1551 O-11to O-15 1422 1542I-21 to I-25 1552 O-21to O-25 1423 1543 I-31 to I-35 1553 O-31to O-351424 1544 I-41 to I-45 1554 O-41to O-45 1425 1545 I-51 to I-55 1555O-51to O-55

[0113] Of course, although five input devices 1441 and five outputdevices 1451 are connected to each of the interface modules 1420 in theillustrated embodiment, this number of I/O devices is merely exemplaryand a different number of devices could also be used, as previouslydescribed.

[0114] The interface modules 1420 each comprise a respective I/O statustable 1520 that stores information pertaining to the I/O states of theinput and output devices 1441 and 1451. Referring now to FIG. 10, anexemplary one of the I/O status tables 1520 is shown. As shown in FIG.10, the I/O status table 1520 stores I/O status information pertainingto each of the input states I-11 to I-15, I-21 to I-25, I-31 to I-35,I-41 to I-45, and I-51 to I-55 of the input devices 1541-1545,respectively, and also stores I/O status information pertaining to eachof the output states O-11 to O-15, O-21 to O-25, O-31 to O-35, O-41 toO-45, and O-51 to O-55 of the output devices 1551-1555, respectively.The I/O status tables 1520 are assumed to be identical, however, eachI/O status table 1520 is individually maintained and updated by thecorresponding interface module 1420. Therefore, temporary differencesmay exist between the I/O status tables 1520 as updated I/O statusinformation is received and stored. Although not shown, the I/O statustable 1520 also stores I/O status information for the interface modules1426-1428 of the variant control system 1512 and the interface modules1429-1430 of the auxiliary control system 1513.

[0115] In practice, although FIG. 10 shows the I/O status informationbeing stored next to each other, the memory locations that store the I/Ostatus information need not be contiguous and need not be located in thesame physical media. It may also be noted that the I/O status table 1520is, in practice, implemented such that different I/O states are storedusing different amounts of memory. For example, some locations store asingle bit of information (as in the case of a digital input device ordigital output device) and other locations store multiple bits ofinformation (as in the case of an analog input device or an analogoutput device). The manner in which the I/O status table is implementedis dependent on the programming language used and on the different datastructures available within the programming language that is used. Ingeneral, the term I/O status table is broadly used herein to encompassany group of memory locations that are useable for storing I/O statusinformation.

[0116] Also shown in FIG. 10 are a plurality of locations that storeintermediate status information, labeled IM-11, IM-21, IM-22, and IM-41.The intermediate states IM-11, IM-21, IM-22, and IM-41 are processedversions of selected I/O states. For example, input signals may beprocessed for purposes of scaling, unit conversion and/or calibration,and it may be useful in some cases to store the processed I/O statusinformation. Alternatively, the intermediate states IM-11, IM-21, IM-22,and IM-41 may be a function of a plurality of I/O states that incombination have some particular significance. The processed I/O statusinformation is then transmitted to the remaining interface modules 1420.

[0117] Referring now to FIGS. 11-12, FIG. 11 is a flowchart describingthe operation of the control system of FIG. 9, and FIG. 12 is a dataflow diagram describing data flow through an exemplary interface moduleduring the process of FIG. 11. As an initial matter, it should be notedthat although FIG. 11 depicts a series of steps which are performedsequentially, the steps shown in FIG. 11 need not be performed in anyparticular order. In practice, for example, modular programmingtechniques are used and therefore some of the steps are performedessentially simultaneously. Additionally, it may be noted that the stepsshown in FIG. 11 are performed repetitively during the operation of theinterface module 1421, and some of the steps are in practice performedmore frequently than others. For example, input information is acquiredfrom the input devices more often than the input information isbroadcast over the communication network. Although the process of FIG.11 and the data flow diagram of FIG. 12 are primarily described inconnection with the interface module 1421, the remaining interfacemodules 1422-1425 operate in the same manner.

[0118] At step 1852, the interface module 1421 acquires input statusinformation from the local input devices 1541. The input statusinformation, which pertains to the input states I-11 to I-15 of theinput devices 1541, is transmitted from the input devices 1541 to theinterface module 1421 by way of respective dedicated communicationlinks. At step 1854, the input status information acquired from thelocal input devices 1541 is stored in the I/O status table 1520 at alocation 1531. For the interface module 1421, the I/O devices 1541 and1551 are referred to as local I/O devices since the I/O devices 1541 and1551 are directly coupled to the interface module 1421 by way ofrespective dedicated communication links, as opposed to the remainingnon-local I/O devices and 1542-1545 and 1552-1555 which are indirectlycoupled to the interface module 1421 by way of the communication network1661.

[0119] At step 1856, the interface module 1421 acquires I/O statusinformation for the non-local input devices 1542-1545 and the non-localoutput devices 1552-1555 by way of the communication network 1661.Specifically, the interface module 1421 acquires input statusinformation pertaining to the input states I-21 to I-25, I-31 to I-35,I-41 to I-45, I-51 to I-55 of the input devices 1542-1545, respectively,and acquires output status information pertaining to the output statesO-21 to O-25, O-31 to O-35, O-41 to O-45, O-51 to O-55 of the outputdevices 1552-1555. The input status information and the output statusinformation are stored in locations 1533 and 1534 of the I/O statustable 1520, respectively.

[0120] At step 1860, the interface module 1421 determines desired outputstates O-11 to O-15 for the output devices 1551. As previously noted,each of the interface modules 1420 stores a chassis control program1840, one or more variant control programs 1842, and an auxiliarycontrol program 1844. The interface module 1421 is associated with thechassis control system 1511 and, therefore, executes a portion of thechassis control program 1840. (The portion of the chassis controlprogram 1840 executed by the interface module 1421 is determined by thelocation of the interface module 1421 on the vehicle 1410, as previouslydescribed.) The interface module 1421 executes the chassis controlprogram 1840 to determine the desired output states O-11 to O-15 basedon the I/O status information stored in the I/O status table 1520.Preferably, each interface module 1420 has complete control of its localoutput devices 1450, such that only I/O status information istransmitted on the communication network 1460 between the interfacemodules 1420.

[0121] At step 1862, the interface module 1421 controls the outputdevices 1551 in accordance with the desired respective output statesO-11 to O-15. Once the desired output state for a particular outputdevice 1551 has been determined, control is achieved by transmitting acontrol signal to the particular output device 1551 by way of adedicated communication link. For example, if the output is a digitaloutput device (e.g., a headlight controlled in on/off fashion), then thecontrol signal is provided by providing power to the headlight by way ofthe dedicated communication link. Ordinarily, the actual output stateand the desired output state for a particular output device are thesame, especially in the case of digital output devices. However, this isnot always the case. For example, if the headlight mentioned above isburned out, the actual output state of the headlight may be “off,” eventhough the desired output state of the light is “on.” Alternatively, foran analog output device, the desired and actual output states may bedifferent if the control signal is not properly calibrated for theoutput device.

[0122] At step 1864, the interface module 1421 stores output statusinformation pertaining to the desired output states O-11 to O-15 for theoutput devices 1551 in the I/O status table 1520. This allows the outputstates O-11 to O-15 to be stored prior to being broadcast on thecommunication network 1661. At step 1866, the interface module 1421broadcasts the input status information pertaining to the input statesI-11 to I-15 of the input devices 1541 and the output status informationpertaining to the output states O-11 to O-15 of the output devices 1551over the communication network 1661. The I/O status information isreceived by the interface modules 1422-1425. Step 1866 is essentiallythe opposite of step 1856, in which non-local I/O status information isacquired by the interface module 1421 by way of the communicationnetwork 1661. In other words, each interface module 1420 broadcasts itsportion of the I/O status table 1520 on the communication network 1661,and monitors the communication network 1661 for broadcasts from theremaining interface modules 1420 to update the I/O status table 1520 toreflect updated I/O states for the non-local I/O devices 1441 and 1451.In this way, each interface module 1420 is able to maintain a completecopy of the I/O status information for all of the I/O devices 1441 and1451 in the system.

[0123] The interface modules 1423 and 1425 are used to transmit I/Ostatus information between the various control systems 1511-1513.Specifically, as previously noted, the interface module 1423 isconnected to both the communication network 1661 for the chassis controlsystem 1511 and to the communication network 1662 for the variantcontrol system 1512. The interface module 1423 is preferably utilized torelay broadcasts of I/O status information back and forth between theinterface modules 1421-1425 of the chassis control system 1511 and theinterface modules 1426-1428 of the variant control system 1512.Similarly, the interface module 1425 is connected to both thecommunication network 1661 for the chassis control system 1511 and theto the communication network 1663 for the auxiliary control system 1513,and the interface module 1425 is preferably utilized to relay broadcastsof I/O status information back and forth between the interface modules1421-1425 of the chassis control system 1511 and the interface modules1429-1430 of the auxiliary control system 1513.

[0124] The arrangement of FIGS. 9-12 is advantageous because it providesa fast and efficient mechanism for updating the I/O status information1848 stored in the data memory 1834 of each of the interface modules1420. Each interface module 1420 automatically receives, at regularintervals, complete I/O status updates from each of the remaininginterface modules 1420. There is no need to transmit data request(polling) messages and data response messages (both of which requirecommunication overhead) to communicate information pertaining toindividual I/O states between individual I/O modules 1420. Although moreI/O status data is transmitted, the transmissions require less overheadand therefore the overall communication bandwidth required is reduced.

[0125] This arrangement also increases system responsiveness. First,system responsiveness is improved because each interface module 1420receives current I/O status information automatically, before theinformation is actually needed. When it is determined that a particularpiece of I/O status information is needed, there is no need to requestthat information from another interface module 1420 and subsequentlywait for the information to arrive via the communication network 1661.The most current I/O status information is already assumed to be storedin the local I/O status table 1520. Additionally, because the mostrecent I/O status information is always available, there is no need tomake a preliminary determination whether a particular piece of I/Ostatus information should be acquired. Boolean control laws or othercontrol laws are applied in a small number of steps based on the I/Ostatus information already stored in the I/O status table 1520.Conditional control loops designed to avoid unnecessarily acquiring I/Ostatus information are avoided and, therefore, processing time isreduced.

[0126] It may also be noted that, according to this arrangement, thereis no need to synchronize the broadcasts of the interface modules 1420.Each interface module 1420 monitors the communication network 1661 todetermine if the communication network 1661 is available and, if so,then the interface module broadcasts the I/O status information forlocal I/O devices 1441 and 1451. (Standard automotive communicationprotocols such as SAE J1708 or J1939 provide the ability for each memberof the network to monitor the network and broadcast when the network isavailable.) Although it is desirable that the interface modulesrebroadcast I/O status information at predetermined minimum intervals,the broadcasts may occur asynchronously.

[0127] The technique described in connection with FIGS. 9-12 alsoprovides an effective mechanism for detecting that an interface module1420 has become inoperable. As just noted, the interface modules 1420rebroadcast I/O status information at predetermined minimum intervals.Each interface module 1420 also monitors the amount of time elapsedsince an update was received from each remaining interface module 1420.Therefore, when a particular interface module 1420 has becomeinoperable, the inoperability of the interface module 1420 can bedetected by detecting the failure of the interface module 1420 torebroadcast its I/O status information within a predetermined amount oftime. Preferably, the elapsed time required for a particular interfacemodule 1420 to be considered inoperable is several times the expectedminimum rebroadcast time, so that each interface module 1420 is alloweda certain number of missed broadcasts before the interface module 1420is considered inoperable. A particular interface module 1420 may beoperable and may broadcast I/O status information, but the broadcast maynot be received by the remaining interface modules 1420 due, forexample, to noise on the communication network.

[0128] This arrangement also simplifies the operation of the data logger1485 and automatically permits the data logger 1485 to store I/O statusinformation for the entire control system 1412. The data logger 1485monitors the communication network 1661 for I/O status broadcasts in thesame way as the interface modules 1420. Therefore, the data logger 1485automatically receives complete system updates and is able to storethese updates for later use.

[0129] As previously noted, in the preferred embodiment, the interfacemodules 1423 and 1425 are used to transmit I/O status informationbetween the various control systems 1511-1513. In an alternativearrangement, the interface module 1429 which is connected to all threeof the communication networks 1661-1663 could be utilized instead.Although less preferred, the interface module 1429 may be utilized toreceive I/O status information from each of the interface modules1421-1428 and 1430, assemble the I/O status data into an updated I/Ostatus table, and then rebroadcast the entire updated I/O status table1520 to each of the remaining interface modules 1421-1428 and 1430 atperiodic or aperiodic intervals. Therefore, in this embodiment, I/Ostatus information for the all of the interface modules 1420 is routedthrough the interface module 1429 and the interface modules 1420 acquireI/O status information for non-local I/O devices 1440 and 1450 by way ofthe interface module 1429 rather than directly from the remaininginterface modules 1420.

[0130] 4. Additional Aspects

[0131] The preferred control systems and methods exhibit enhancedreliability and maintainability because it uses distributed powerdistribution and data collecting. The interface modules areinterconnected by a network communication link instead of a hardwiredlink, thereby reducing the amount of wiring on the fire truck. Mostwiring is localized wiring between the I/O devices and a particularinterface module.

[0132] Additionally, the interface modules in the preferred systems areinterchangeable units. If the control system were also applied to othertypes of equipment service vehicles (e.g., snow removal vehicles, refusehandling vehicles, cement/concrete mixers, military vehicles such asthose of the multipurpose modular type, on/off road severe dutyequipment service vehicles, and so on), the interface modules would evenbe made interchangeable across platforms since each interface moduleviews the outside world in terms of generic inputs and outputs.

[0133] B. Turret Control

[0134] Referring to FIGS. 13-16, a turret 610 that is controlled by afire fighting vehicle control system 612 according to another embodimentof the invention is illustrated. The turret control system 612 may beimplemented as a stand-alone system or in combination with one of thecontrol system architectures described above. Except as specificallynoted, the following discussion is generally applicable to both types ofembodiments.

[0135] Referring first to FIG. 13, FIG. 13 is an overview of thepreferred control system 612 for controlling the turret 610. The controlsystem 612 includes a plurality of interface modules 613 a-613 d(collectively, “the interface modules 613”), turret I/O devices 614, andone or more operator interfaces 616 a and 616 b (collectively, “theoperator interfaces 616”). The control system 612 may be implementedusing the interface modules 613 regardless whether the control system612 is implemented in combination with the control/system 12. If thecontrol system 612 is implemented in combination with the control system12, then other, non-turret I/O devices may also be coupled to theinterface modules 613. If the control system 612 is implemented as astand-alone control system, then it may be preferable to replace theinterface modules 613 with a single stand-alone electronic control unit.

[0136] As discussed in greater detail in connection with FIGS. 14-15,the turret I/O devices 614 include actuators, position sensors, limitswitches and other devices used to control the turret 610. The operatorinterfaces 616 a and 616 b each include display 618 a and 618 b(collectively, “the displays 618”) and joysticksy 619 a and 619 b(collectively, “the joysticks 619”). For example, the operator interface616 a may be located in a driver compartment of the fire fightingvehicle 620 and the other operator interface 616 b may be located atanother location, such as a rear or side vehicle location of the firefighting vehicle 620, for example.

[0137] Assuming the control system 612 is implemented in combinationwith the control system 12 (with or without the enhancements of FIGS.5-12), the interface modules 613 are connected to each other by way ofthe communication network 60, previously described in connection withFIGS. 1-4. Therefore, the interface modules shown in FIG. 13 are coupledto the same communication network 60 as the interface modules shown inFIGS. 1-4. For simplicity, in describing the turret control system 612,all of the interface modules in the turret control system 612 as well asthe interface modules shown in FIGS. 1-4 will be referred to using thereference number 613. As previously described, the interface modules 613are locally disposed with respect to the respective input and outputdevices to which each interface module is coupled so as to permitdistributed data collection from the plurality of input devices anddistributed power distribution to the plurality of output devices. Ofcourse, each of the interface modules 613 may, in addition, be coupledto other non-local input devices and output devices. Further, thecontrol system 612 can also include input devices and output deviceswhich are not connected to the interface modules 613.

[0138] It may also be noted that if the control system 12 is employed,it is preferably implemented so as to incorporate the additionalfeatures described in connection with FIGS. 5-12. Therefore, all of theinterface modules 613 are preferably identically constructed andprogrammed. Further, each of the interface modules 613 broadcasts I/Ostatus information on the communication network 60, and each of theinterface modules 613 uses the I/O status broadcasts to maintain an I/Ostatus table 1520. Based on the I/O status information stored in the I/Ostatus table 1520 maintained by each respective interface module 613,the respective interface module 613 executes pertinent portions of thecontrol programs to control the output devices to which it is directlyconnected. It may also be noted that the fire fighting vehicle 620 maybe implemented as an electric vehicle, as described in connection withFIGS. 25-33 of U.S. Prov. No. 60/360,479 and U.S. Ser. No. 10/326,907,and/or include the network assisted scene management features of FIGS.34-41 of U.S. Prov. No. 60/360,479 and U.S. Ser. No. 10/326,907, and/orbe implemented to include the network-assisted monitoring, serviceand/or repair features described in connection with FIGS. 42-67 of U.S.Prov. No. 60/360,479 and U.S. Ser. No. 10/326,907.

[0139] Referring now also to FIG. 14, FIG. 14 shows one embodiment ofthe turret 610, although it should be noted that the teachings herein donot depend on the exact configuration, construction, size or assembly ofthe turret 610. In this regard, it will be appreciated that the turret610 is not necessarily drawn to scale in FIG. 14 relative to the firefighting vehicle 620.

[0140] The turret 610 is shown to be of a type used on fire fightingvehicles such as municipal and airport fire trucks, crash trucks,emergency response vehicles, aerial platform trucks, ladder trucks,pumpers, tankers, and so on. Generally, such vehicles have a chassis anda vehicle body mounted on the chassis, with the chassis and vehicle bodyin combination including an operator compartment capable of receiving ahuman operator. The operator compartment further includes steering andthrottle controls for receiving operator inputs to control movement ofthe fire fighting vehicle along a road. The turret 610 is mounted to aroof of the fire fighting vehicle 620, and is configured to deploy ordispense a fire fighting agent (i.e., water, foam, foaming agents,etc.). It should be understood that FIG. 15 merely illustrates oneembodiment, and the turret 610 may be mounted anywhere and in any mannerto the chassis/vehicle body of the fire fighting vehicle 620.

[0141] The turret 610 includes an adjustable mount assembly whichincludes a fire-extinguishing agent delivery system capable oftransporting a fire-extinguishing agent through the mount assembly. Inone embodiment, the adjustable mount assembly comprises a base 624, afirst arm 626, a second arm 628, a third arm 630, and a nozzle 631. Thearms 626-630 are hingedly moveable relative to each other and, incombination, form a boom for placing the nozzle 631 in a particularposition and orientation. As will be appreciated, the arms 624-626 arenot drawn to scale, and may have lengths which are significantly largerthan those shown relative to the overall size of the fire fightingvehicle 620. Also, although three arms are shown which are movable inparticular directions, fewer or more arms may be used which may bemoveable in a different manner.

[0142] The base 624 is preferably configured to mount to the top of thefire fighting vehicle 620. In one embodiment, the base 624 is configuredto swivel or rotate around an axis, as indicated by θ1. In anotherembodiment, the base 624 is fixed and is not able to rotate. Assumingthat the base 624 is configured to rotate, and referring now also toFIG. 15, the base 624 may be coupled to a motor or other actuator (shownas actuator 632 a) which causes the rotation of the base 624 in thedirection of θ1. A position indicator or sensor 634 a measures movementof the base 624 in the θ1 direction, and a pair of limit switches 636 aascertain whether the base 624 is at one of the boundaries of movementin the θ1 direction.

[0143] The first arm 626 is rotatably coupled to the base 624, and ismounted for hinged movement, as indicated by θ2. The first arm 626 maybe coupled to a motor or other actuator (shown as actuator 632 b) whichcauses the rotation of the first arm 626 around θ2. A position sensor634 b measures movement of the first arm 626 in the θ2 direction, and apair of limit switches 636 b ascertain whether the first arm 626 is atone of the boundaries of movement in the θ2 direction.

[0144] The second arm 628 is rotatably coupled to the first arm 626 andis mounted for hinged movement, as indicated by θ3. The second arm 628may be coupled to a motor or other actuator (shown as actuator 632 c)which causes the rotation of the second arm 628 around θ3. A positionsensor 634 c measures movement of the second arm 628 in the θ3direction, and a pair of limit switches 636 c ascertain whether thesecond arm 628 is at the one of the boundaries of movement in the θ3direction.

[0145] The second arm 628 may also have a length which is adjustable(i.e., extendable or retractable) as indicated by L1. The second arm 628may further be coupled to a motor or other actuator (shown as actuator632 d) which causes the extension of the second arm 628 along L1.Adjustments along L1 allow for changes in the height of the turret 610without requiring the rotation of any arm. A position sensor 634 dmeasures movement of the second arm 628 in the L1 direction, and a pairof limit switches 636 d ascertain whether the second arm 628 is at oneof the boundaries of movement in the L1 direction.

[0146] The third arm 630 is rotatably coupled to the second arm 628, andis mounted for hinged movement, as indicated by θ4. The third arm 630may be coupled to a motor or other actuator (shown as actuator 632 e)which causes the rotation of the third arm 630 around θ4. A positionsensor 634 e measures movement of the third arm 630 in the θ4 direction,and a pair of limit switches 636 e ascertain whether the third arm 630is at the one of the boundaries of movement in the θ4 direction.

[0147] The third arm 630 may also swivel around a vertical axis, asindicated by θ5. The third arm 630 may further be coupled to a motor orother actuator (shown as actuator 632 f) which causes the rotation ofthe third arm 630 around θ5. A position sensor 634 f measures movementof the third arm 630 in the θ5 direction, and a pair of limit switches636 f ascertain whether the third arm 630 is at the one of theboundaries of movement in the θ5 direction.

[0148] The base 624, the first arm 626, the second arm 628, and thethird arm 630 are fluidly connected, allowing the flow of a firefighting agent to pass from the base 624 to the third arm 630. Firefighting agent enters the base 624 from a source such as a pump,hydrant, pipe, etc. The nozzle 631 is mounted on a free end of the thirdarm 630 and receives the fire-extinguishing agent transported by thearms 626-630. The position and orientation of the nozzle 631 arecontrolled by a turret controller 660 (discussed below in connectionwith FIG. 16) to direct the flow of fire fighting agent toward anintended target or other region of interest such as a fire, chemicalspill, etc. Furthermore, the nozzle 631 may be capable of controllingthe flow rate of fire fighting agent (as indicated by F1). The nozzle631 may further be coupled to a motor or actuator (shown as actuator 632g) which controls the flow rate setting for the nozzle 631. A positionor flow rate sensor 634 g measures the nozzle setting, and a set ofswitches or other sensors 636 g provide information regarding whetherthe setting of the nozzle 631 is at particular levels (e.g., full on,full off). The flow rate sensor 634 g may measure the flow rate at thenozzle 631, or may measure the amount of fire fighting agent remainingin an on-board storage tank and deduce flow rate by calculating the rateof change in the amount of remaining fire fighting agent.

[0149] In an exemplary embodiment, the turret 610 is a Snozzle ModelC-50 or 50A available from Crash Rescue Equipment Service, Inc. ofDallas, Tex. In an alternative embodiment, the turret 610 is a SnozzleModel P-50 or 50A also available from Crash Rescue Equipment Service,Inc. of Dallas, Tex. In another alternative embodiment, the turret 610may be a Rhino Bumper Turret available from Crash Rescue EquipmentService, Inc. of Dallas, Tex. As previously indicated, however, theparticular configuration of the turret is not important and other turretsystems from other manufacturers could also be used.

[0150] As shown in FIG. 15, the position indicators or sensors 634 a-634g (collectively, “the position sensors 634”) and the limit switches 636a-636 g (collectively, “the limit switches 636”) are connected as inputdevices to the interface modules 613 a-613 b. The interface modules 613a-613 b thereby receive the position information pertaining to theposition and orientation of the nozzle 631. The actuators 632 a-632 g(collectively, “the actuators 632”) are connected as output devices tothe interface modules 613 a-613 b. The interface modules 613 a-613 bprovide the actuators 632 with control signals to adjust the base 624and the arms 626-630 to thereby adjust the position and orientation ofthe nozzle 631. The actuators 632, the position sensors 634 and thelimit switches 636 collectively correspond to “the turret I/O devices”which are labeled with the reference number 614 in FIG. 13. Other I/Odevices may also be used. The interface module 613a may be located nearthe nozzle 631 of the turret 610 and the interface module 613 b may belocated near the base 624 of the turret 610, with the turret I/O devices614 preferably being connected to a particular interface module 613 a,613 b based on location.

[0151] In one embodiment, the portion of the communication network thatconnects the interface module 613 a to the remainder of the controlsystem 612 is implemented using a wireless link. The wireless link maybe implemented by providing the interface module 613 a with a wirelessRF communication interface such as a Bluetooth interface. A wirelesslink may be advantageous in some instances in order to eliminatemaintenance associated with a network harness that extends from the mainvehicle body along the articulated arms 626-630. Also, given thatportions of the network harness can be positioned at significantdistances from the center of gravity of the vehicle 620, the use of awireless link is advantageous in that it reduces the weight of thearticulated arm, thereby enhancing the mechanical stability of thevehicle 620. Again, it may also be noted that it is possible to provideall of the interface modules on the vehicle 620 with the ability tocommunicate wirelessly with each other (e.g., using Bluetooth), therebycompletely eliminating the need for a separate network harness.

[0152] The position sensors 634 may be encoders, resolvers or othersuitable position measuring devices. The actuators 632 may be electricmotors, especially if the fire fighting vehicle is implemented as anelectric vehicle (for example, the electric vehicle 1910 described inconnection with FIGS. 25-33 of U.S. Prov. No. 60/360,479 and U.S. Ser.No. 10/326,907). Alternatively, the actuators 632 may for example beelectrically controlled valves that control the flow of hydraulic powerto the turret if turret movement is hydraulically driven. Otherarrangements could also be used.

[0153] The joysticks 619 are preferably multi-axis joysticks, with thecontrol system 612 being capable of receiving operator inputs fromeither joystick 619 a, 619 b and using the operator inputs to controlthe turret 610, as detailed below. In one embodiment, the joysticks arethree-axis joysticks, with left to right corresponding to boom up andboom down (θ2 and θ3 control), forward and back corresponding to nozzleup and nozzle down (θ4 control), and twist corresponding to nozzle leftand nozzle right (θ5 control). In this configuration, the base 624 isheld stationary. Additional or alternative operator input devices may beused if the base 624 is not held stationary, if the joysticks 619 areimplemented using two-axis joysticks rather than three-axis joysticks,or if a different type of operator input device is desired. In practice,the configuration of the joysticks may vary from system to systemdepending on user preferences. As described in greater detail below, inan alternative embodiment, the fire fighting vehicle 620 includes twoturrets, with each of the joysticks 619 a and 619 b being useable tocontrol either or both turrets, depending on how the turret controller660 is configured.

[0154] Because the joysticks 619 are coupled to the actuators 632through the turret controller 660, the turret controller 660 can processthe operator inputs from the joysticks 619 to provide user-friendlycontrol of the actuators 632. For example, the turret controller 660 maybe programmed to increase the speed of movement of the turret 610 as theoperator maintains a particular joystick position. For example, if theoperator holds the joystick 619 a or 619 b in the left position, thespeed of upward movement of the boom may be programmed to increase thelonger the joystick-left position is maintained.

[0155] Referring now to FIG. 16, the arrangement of FIGS. 13-15 can beused to implement a variety of advantageous features, such as turretenvelope control, turret targeting, turret pan, turret deploy, turretstore and other features. FIG. 16 is a block diagram of a turret controlsystem that implements such features. The turret control system 612comprises the operator interface 616, a turret motion controller 660,the actuators 632, the position sensors 634, and a plurality of otherinput devices such as a fire position indicator 635, described ingreater detail below.

[0156] In the preferred embodiment, the turret motion controller 660 isimplemented using interface modules, and preferably comprises theinterface modules 613 a and 613 b of FIG. 13. According to thisarrangement, and as previously indicated, all of the interface modules613 are preferably identically programmed, and the interface modules 613each include control programs which implement a plurality of controlmodules 661 including an envelope control module 662, a turret targetingmodule 664, a turret learn module 665, a turret pan module 668, a turretdeploy module 670, and a turret store module 672. The interface module613 a then receives I/O status information from other interface modules613 through I/O status broadcasts, and maintains an I/O status table1520 based on the I/O status broadcasts and based on locallyacquired/determined I/O status information. The interface module 613 athen controls the actuators 632 a-632 d by executing those portions ofthe control programs pertinent to the actuators 632 a-632 d and usingthe I/O status information stored in its I/O status table 1520. Theinterface module 613 b operates in the same manner, except that itcontrols the actuators 632 g-632 f by executing those portions of thecontrol programs pertinent to the actuators 632 g-632 f. As a practicalmatter, there is a significant of overlap between the portions of thecontrol program pertinent to the actuators 632 a-632 d and the portionsof the control program pertinent to the actuators 632 e-632 g. Theinterface modules 613 c and 613 d are not shown in FIG. 16, although itis to be understood that the input information from the operatorinterfaces 616 is received by the interface modules 613 c and 613 d andtransmitted from the interface modules 613 c and 613 d to the interfacemodules 613 a and 613 b in the form of an I/O status broadcast over thecommunication network 60.

[0157] The envelope control, turret targeting, turret pan, turretdeploy, turret store and other features will now be described in greaterdetail.

[0158] 1. Envelope Control

[0159] As shown in FIG. 16, the motion controller 660 has an envelopecontrol module 662 that provides envelope control to improve turretguidance, safety, and crash avoidance. The motion controller 660 assistsa human turret operator who may have obscured vision from smoke, debris,buildings, etc, and who is susceptible to controlling the turret 610 soas to inadvertently cause the turret 610 to collide with an objectwithin the range of motion of the turret 610. Thus, as shown in FIG. 13,the turret 610 has a maximum overall range of motion (i.e., a limit orthe maximum extent which the turret can physically extend) shown as aboundary 615. Within the boundary 615 are obstructions that the turret610 is susceptible to impacting. The obstructions may include, forexample, portions of the vehicle 620. A permissible travel envelope 618,shown in FIG. 14, shows the three-dimensional space within the overallrange of motion which does not include the obstructions, and thereforewithin which the turret 610 may safely be positioned and move. It shouldbe noted that the shape of the range of motion as well as the envelope618 are shown only as examples, and that a wide variety of shapes,configurations, and arrangements may be used according to theseteachings. The control system 612 provides capabilities to identify thelocation of objects within the range of motion of the turret 610 (suchas the cab or chassis of the fire fighting vehicle, as well as otherobjects) to avoid collision with those objects.

[0160] In describing operation of the envelope control module 662, it isinitially assumed that the envelope control module 662 is used when ahuman operator is controlling the turret 610 using the operatorinterface 616 (although, as detailed below, the envelope control module662 is also useable when the turret 610 is under control of one of themodules 664, 668, 670, or 672). In this case, the modules 664, 665, 668,670, 672 and 674 and the fire position indicator 635 are not active.

[0161] The operation of the turret controller 660 and particularly theenvelope control module 662 is described in greater detail in connectionwith the flowcharts of FIGS. 17-19. Referring first to FIG. 17, at step681, operator inputs are received from one of the operator interfaces616 and transmitted by the appropriate interface module 613 c or 613 din the form of an I/O status broadcast to all of the interface modulesincluding the interface modules 613 a-613 b, which form the turretmotion controller 660. The turret motion controller 660 acquires theoperator inputs and processes (e.g., scales, amplifies, powerconditions, etc.) the inputs to generate control signals to controlmotion of the turret 610. As originally acquired, the operator inputsmay direct movement of the turret 610 in such a way that the turret 610is susceptible to impacting the fire fighting vehicle 620. The operatorinputs are also provided to the envelope control module 660 (theabove-mentioned processing may be performed before and/or after theoperator inputs are provided to the envelope control module 660).Schematically, a selector switch 675 is shown in FIG. 16 to indicatethat the envelope control module 662 uses inputs from one of theoperator interfaces 616 as opposed to inputs from one of the modules664, 668, 670, 672, but it will be understood that the selector switch675 is representative of logic that is implemented the control programexecuted by the turret motion controller 660.

[0162] At the same time, at step 682, the position of the actuators 632is monitored by the position sensors 634, and the current position ofthe actuators 632 is fed back to the envelope control module 662. Atstep 683, the envelope control module 662 compares the current positionof the turret 610 with a representation 671 of the permissible travelenvelope for the turret 610 and, at step 684, it is determined whetherthe turret 610 is near/past the edge of the envelope or is otherwisesusceptible to impacting the vehicle 620. Steps 683-84 are described ingreater detail below. At step 685, when the turret 610 is not near/pastthe edge of the envelope, the turret motion controller 660 operatesessentially as a pass-through device, and passes the inputs receivedfrom the joystick 619 a or 619 b along to the actuators 632 withoutintervention. Alternatively, at step 686, when the turret 610 is nearthe edge of the operating envelope, or is past the edge of the operatingenvelope (depending on how steps 683-84 are implemented, as describedbelow), the envelope control module 662 becomes active and provides theactuators 632 with different control signals to alter a path of travelof the turret 610, e.g., to prevent the turret 610 from travelingoutside the permissible travel envelope and thus prevent the turret 610from impacting the vehicle 620.

[0163] The specific manner of operation of the envelope control module662 at steps 683-84 depends in part on the scheme that is used to storethe representation 671 of the permissible travel envelope. Therepresentation 671 may be a data set of positions, coordinates,positional/axis limits, boundaries, and so on. According to onepreferred embodiment, the representation 671 is stored in the form ofpermissible or impermissible combinations of values for the parametersθ1, θ2, θ3, θ4, θ5 and L1. Thus, the ranges of values of the parametersθ1, θ2, θ3, θ4, θ5 and L1 that would cause a portion of the turret 610to occupy the same space as part of the fire fighting vehicle 620, aswell as a buffer zone surrounding the fire fighting vehicle 620, aredetermined and stored to form the representation 671. For example, therepresentation may store limit information such that, when the turret610 is near the store position (the position where the turret 610 isstored during vehicle travel) as indicated by the θ1, θ2, θ3, and θ4values, the θ5 value must be approximately zero (i.e., the turret nozzle631 must not be angularly displaced to the left or the right) to avoidthe turret nozzle 631 colliding with other structure (e.g., emergencylights) on the roof of the fire fighting vehicle 620. The turret 610 maythen be controlled so as to avoid these combinations of values for theparameters θ1, θ2, θ3, θ4, θ5 and L1 and thereby avoid impacting thefire fighting vehicle 620.

[0164] According to another preferred embodiment, the representation 662is a data set containing (X,Y,Z) coordinates that the turret maysafely/permissibly occupy or not occupy. Specifically, an XYZ vehiclecoordinate system is established for the fire fighting vehicle 620 withthe base 624 at the origin of the coordinate system (see FIG. 13). Theoverall range of motion of the turret 610 around the fire fightingvehicle 620 is determined based on the lengths and relative angles ofthe arms 626-630 of the turret 610. The space around the fire fightingvehicle 620 is then divided into volume elements, with each X,Y,Zcoordinate being located within a respective volume element. Therepresentation 671 is then constructed by defining which volume elementsare inside the permissible travel envelope and which volume elements areoutside the permissible travel envelope. Assuming initially that themain obstruction to be avoided is the fire fighting vehicle 620, thepermissible travel envelope may be defined (typically, in advance ofvehicle deployment) based on the known dimensions of the fire fightingvehicle 620 relative to the origin of the vehicle coordinate system.

[0165] Assuming the representation 671 is constructed in this manner,then FIGS. 18-19 show exemplary techniques for performing steps 683-684in FIG. 17, although of course other techniques may also be used. Forthe techniques of FIGS. 18-19, the turret 610 is modeled as a series ofpoints P0 . . . PN. For example, the point P0 may be at the base 624,and the point PN may be located at a tip of the nozzle 631 withadditional points (e.g., in the range of tens or hundreds) located alongthe arms 626-630 between the base 624 and the nozzle 631. Because theoverall geometry of the turret 610 is known (including the lengths ofthe arms 626-630), and because the angles θ1, θ2, θ3, θ4, θ5 and L1 aremeasured by the position sensors 634, and because the position of thepoints P0 . . . PN is defined relative to the turret arms 626-630 (thatis, the position of a given point along a particular one of the arms626-630 is defined), the position of each point P0 . . . PN in thevehicle coordinate system can be calculated at any time.

[0166] Referring first to FIG. 18, at step 691, the envelope controlmodule 662 computes the position for a particular point Pn (initially P0and incrementing through PN). After being calculated, the position ofeach point Pn is then compared with the representation 671 of thepermissible travel envelope to assess the position of the turret 610relative to the permissible travel envelope. In one embodiment (FIG.18), the position of point Pn is simply compared at step 695 with therepresentation 671 to assess whether the point Pn is inside or outsidethe permissible travel envelope. In this embodiment, the permissibletravel envelope is defined sufficiently small such that a buffer zoneexists between the permissible travel envelope and the fire fightingvehicle 620. The buffer zone is made sufficiently large that enough timeexists for the turret 610 to come to a complete stop after it has beendetected that the turret 610 has left the permissible travel envelopeand after the control signals to the actuators 632 have been adjusted tostop movement of the turret 610, and further taking into account themaximum speed/momentum of the turret 610. Therefore, in this embodiment,once it is determined at step 696 that the point Pn is outside theenvelope, the control signals transmitted to the actuators 632 areadjusted so as to cause the turret 610 to slow to a stop as soon aspossible. Once the turret 610 comes to a stop, a warning is provided tothe operator (e.g., a flashing red light), and the operator is thenpermitted to manually override the envelope control module 662 and movethe turret 610 back into the permissible travel envelope. Alternatively,the turret motion controller 660 may provide control signals to theactuators 632 which cause the actuators 632 to retrace their valuesbefore leaving the permissible travel envelope, so that the turret 610is automatically returned to the permissible travel envelope. If thepoint Pn is not outside the permissible travel envelope, then nincrements and the process is performed again for the next point Pn+1along the turret 610 (steps 697 and 698).

[0167] In another embodiment, the envelope control module 662 takes intoaccount the velocity of the turret 610 and causes the turret 610 to slowdown before reaching the edge of the permissible travel envelope. Thisallows the permissible travel envelope to be defined so as to encompassmore of the overall range of motion of the turret 610, because it is notnecessary to define the permissible travel envelope with a large bufferzone between the permissible travel envelope and the fire fightingvehicle 620.

[0168] To this end, a turret velocity is calculated, for example, bysubtracting the previous position from the current position and dividingby the amount of time elapsed (e.g., a control logic update cycle) sincethe position for the point Pn was previously calculated. Preferably, theturret controller 660 is implemented such that the processes of FIGS.17-18 (as well as FIG. 17 and FIG. 19) is performed once per updatecycle of the control logic that implements the turret controller 660,with the update cycles occurring at fixed intervals, e.g., every fewhundred microseconds or less. The foregoing calculation results in avelocity vector since the turret position is known in three dimensions.It may also be desired to calculate an average velocity vector byaveraging the instantaneous velocity vector over numerous update cyclesto reduce the effects of noise. Further, it may also be desirable tocalculate an acceleration vector if a higher level of sophistication isrequired.

[0169] Based on the velocity, multiple representations 671 of thepermissible travel envelope are then used and compared against theactual position of the turret 610. For example, a multi-tier comparisonscheme may be used wherein each point is compared to multiplerepresentations 671 of the permissible travel envelope at step 695.Depending on which envelopes a given point Pn is determined to haveexited at step 696, a warning may be provided to the operator (e.g., aflashing yellow light) and the turret 610 may be caused to slow down(for an inner envelope), or the turret 610 may be brought to animmediate stop (for an outer envelope). Whether a particular envelopemerely causes a warning light or instead causes the turret 610 to bebrought to a stop is then varied as a function of the speed of theturret 610.

[0170]FIG. 19 shows another embodiment in which the velocity andacceleration of the turret 610 are computed in real time to obtain adynamic assessment of the motion of the turret 610 relative to thepermissible travel envelope. FIG. 19 is similar to FIG. 18 and includesmany of the same steps of FIG. 18. Only the steps that are differentwill be discussed.

[0171] Thus, in FIG. 19, at step 692, the velocity and acceleration ofthe turret 610 are computed for each of the points P0 . . . PN. For eachpoint, at step 693, the turret motion controller 662 then computes astop distance, or the minimum amount of distance that would be traveledby the point Pn were the turret 610 brought to a stop, based on thecurrent velocity and acceleration of the point Pn. At step 694, thedistance between the turret 610 and the permissible travel envelope isthen computed along the current trajectory of the point Pn, and thisstop distance is then compared at step 695 to the envelope distance tothe determine a margin therebetween. At step 696, if the margin is belowa predetermined threshold, then the turret motion controller 662 bringsthe turret 610 to an immediate stop and operates in generally the samemanner as described in the above when the turret 610 enters the bufferzone. Alternatively, the turret motion controller 660 may adjust themotion of the turret 610 to permit the turret 610 to continue movingwithout leaving the permissible travel envelope. For example, if theoperator is commanding the turret 610 to move down and to the left, butmotion to the left would cause the turret 610 to collide with a portionof the fire fighting vehicle 620, then the turret motion controller 660may operate so as to cause downward but not leftward movement of theturret 610. In another alternative embodiment, when the turret 610 istraveling towards an edge of the permissible travel envelope,multi-tiered threshold levels may be used to cause the turret 610 toslow as the turret 610 nears the edge of the permissible travelenvelope, in a manner akin to the multi-tiered envelopes describedabove.

[0172] It may be noted that the permissible travel envelope is smallerthan the size of the overall range of motion of the turret 610. Anyrange of motion beyond the overall range of motion is inherentlyexcluded in the permissible travel envelope. Because the turret 610cannot physically travel beyond the range of motion, the permissibletravel envelope already inherently excludes this space and there is noneed to model this space. To the extent that certain ranges of motionare excluded (e.g., certain combinations of angles or XYZ positions arenot allowed) the permissible travel envelope is necessarily smaller thanthe overall range of motion.

[0173] According to another embodiment, the permissible travel envelopemay be determined and stored in real time. For example, a plurality ofsensors (e.g., ultrasonic sensors) may be mounted to the turret 610 toprovide the turret controller 660 with information regarding approachingobstructions. This permits the permissible travel envelope to be definedin a manner which takes into account obstructions 625 that are not partof the vehicle 620 and therefore are not necessarily known in advance ofwhen the vehicle 620 arrives at the scene of a fire. Thus, if the turretcontroller 660 detects an obstruction within a predetermined distance ofthe turret 610, the turret controller 660 may bring the turret 610 to astop or alter the path of movement of the turret 610. A combination ofthis approach and the approaches described above may also be used. Otherembodiments and combinations are also possible.

[0174] 2. Turret Targeting

[0175] The turret controller 660 preferably also assists turrettargeting. For example, a human operator controlling a turret at thescene of a fire may not be able to identify the location of the “hotspot” (i.e. the center of a fire). The operator may have obscured visionfrom smoke, debris, buildings, etc, thereby reducing the effectivenessof the turret and the fire fighting agent. The turret controller 660provides capabilities to identify the location of a hot spot or otherdesired location in a fire, and target the turret 610 on that spot whenthe turret operator may not be able to do so. Also, the operator may notbe able to view the orientation of the nozzle, nor the direction nozzleis pointing towards due to smoke, debris, buildings, or other suchobstacles. The turret controller 660 identifies the desired location ina fire, and targets the turret 610 on that spot when the operator of theturret 610 may not be able to do so.

[0176] The turret control system 612 includes the fire positionindicator 635, as shown in FIG. 16. The fire position indicator 635provides information indicative of a spatial location or position of aselected region of a fire or other region of interest. In an exemplaryembodiment, the fire position indicator 635 is indicative of the spatialposition of a selected region of a fire provided in coordinates (i.e.height, width, and depth coordinates such as X, Y, and Z Cartesiancoordinates, or other such position indication systems) using a vehicleframe of reference. Alternatively, the fire position indicator 635 maybe provided in two dimensional coordinates such as X, Y coordinates.Other non-Cartesian coordinate systems or other position indicatorsusing other frames of reference may alternatively be used.

[0177] Various devices may be used to implemented the fire positionindicator 635. In an exemplary embodiment, the fire position indicator635 indicates the hottest region within a fire (typically the center orhot spot) and is implemented using a heat detection device.Alternatively, the fire position indicator 635 may use a laser detectiondevice for laser-guided tracking. According to this latter approach, anarea of interest may be identified (e.g., by directing the laser at aportion of a building immediately adjacent the region of interest), andthe nozzle 631 can be targeted on, and can track, the area of interestof a fire. The heat detection and laser tracking approaches are nowdescribed in greater detail, although it will be appreciated that theseapproaches are merely exemplary embodiments of the fire positionindicator 635 in the system of FIG. 16.

[0178] Referring first to FIG. 20, in one embodiment, the fire positionindicator 635 is implemented using a heat detection system 727. The heatdetection system 727 includes one or more heat sensitive cameras 728. Inan exemplary embodiment, the camera 728 is an infrared camera or otherinfrared imaging device which produces two dimensional (2-D) image data,although other heat sensitive devices may also be used. The image iscomprised of individual pixels, each pixel having a pixel intensity orcolor that is a function of temperature or temperature differential fora corresponding location in the 2-D field of view. Infrared heatcamera(s) advantageously offer the ability to penetrate smoke to locatethe fire source. For example, the location of the fire may not bevisible with the naked eye due to the amount of smoke, debris,buildings, or other things which may obscure a visual sighting of thefire location. The infrared camera 728 is used to allow the turretcontroller 660 to “see” a hot spot or other area of interest.

[0179] The heat sensitive camera 728 may be placed in a variety oflocations on the fire fighting vehicle 620. In an exemplary embodiment,the heat sensitive camera 728 is mounted to the fire fighting vehicle620. In other exemplary embodiments, the heat sensitive camera 728 maybe provided proximate the nozzle 631 of the turret 610, or on the roofof the fire fighting vehicle 620.

[0180] In a preferred embodiment, two heat sensitive cameras, 728 a and728 b, are used. The heat sensitive camera 728 a is used to provide awide field of view for the targeting system, i.e., to identify thegeneral location of the fire or trouble spot. The camera 728 a has awide field of view and is used to determine the general area whereturret should be pointed (“gross positioning”). Preferably, the camera728 a is mounted on the vehicle chassis in a manner such that thecoordinate system of the camera 728 a is aligned with the vehiclecoordinate system described above in connection with the envelopecontrol module 662 and shown in FIG. 13. Specifically, in the vehiclecoordinate system shown in FIG. 13, the X-axis is aligned along thewidth of the vehicle 620, the Y-axis is aligned along the height of thevehicle 620, and the Z-axis is aligned along the length of the vehicle620. The camera 728 a preferably has an imaging plane which is parallelwith the plane defined by the X axis and the Y-axis of the vehiclecoordinate system. For example, the origin of the vehicle coordinatesystem is defined to be the same location on the vehicle 620 where thecamera 728 a is mounted. For gross positioning, this allows the imagedata from the camera 728 a to be processed to obtain a quick assessmentof the location of the hot spot. For example, if the hot spot appears inthe middle of the image data, then the nozzle 631 should be pointingstraight ahead. Conversely, if the hot spot appears on the left side orright side of the image data, then the nozzle 631 should be pointed tothe left or right, respectively.

[0181] The heat sensitive camera 728 b is used to fine tune the positionor location indication of the hot spot of the fire (“fine positioning”).Preferably, the camera 728 b is mounted on or near the nozzle 631 of theturret 610, and is mounted so as to be aligned with the flow directionof the fire fighting agent from the nozzle 631. Specifically, the firefighting agent flowing from the nozzle 631 preferably travels along anaxis (Z-axis) which is perpendicular to the 2-D (X-Y) imaging plane ofthe camera 728 b. (The camera 728 b is assumed to have an XYZ coordinatesystem which is, in general, not aligned with the XYZ coordinate systemof the vehicle 620, although the two may be considered aligned when theturret nozzle 631 is level and pointing straight forward.) Given thatthe distance between the center of the 2-D image plane of the camera 728b and the center of the stream of fire fighting agent is small relativeto the distance between the camera 728 b and the fire, it may be assumedthat the center of the 2-D image plane of the camera 728 b and thecenter of the stream of fire fighting agent are located at the samepoint. Therefore, when the hot spot appears on the left side of theimage data, the turret needs to be moved to the left to be aimed at thehot spot. With this configuration, it is known that the turret ispointed at the hot spot of the fire so long as the hot spot appears inthe center of the image data. It may be noted that conventional turretsdispense fire extinguishing agent at a sufficiently high velocity suchthat it may be assumed that fire extinguishing agent dispensed from ahorizontally oriented turret will not travel appreciably downwardlybefore reaching the target. Therefore, fire extinguishing agent reachesthe hot spot if the turret 610 is pointed at the hot spot. As detailedbelow, a control algorithm may then be executed which maintains the hotspot located at the center of the image data for the camera 728 b.

[0182] In an alternative embodiment, in addition to the camera 728 b,one or more additional cameras may be mounted around the perimeter ofthe nozzle 631. The use of multiple cameras on the nozzle 631 allowsportions of image data from the multiple cameras to be processed as asingle image, so that the any obstructions caused by the presence of thenozzle 631 and the stream of fire fighting agent may be avoided.

[0183] Once the heat detection system 727 has identified the location ofthe area of interest in the fire in the image data, the heat detectionsystem 727 uses a conversion module 729 to convert the location of thearea of interest in the image data into position information for use bythe turret controller 660 in controlling the turret 610, as will bedescribed in greater detail below. For each of the cameras 728 a and 728b, the conversion module 729 provides the turret controller with X,Yvalues indicative of the distance (magnitude and polarity) of the hotspot from the center of the image data produced by the respective camera728 a, 728 b (with the X,Y values being provided in the respectivecoordinate systems of the cameras 728 a and 728 b). The conversionmodule 729 may also be integrated into the turret controller 660, suchthat the cameras 728 a and 728 b provide the turret controller 660 withraw image data an the turret controller 660 determines theabove-mentioned distances. The operation of the turret targeting module664 is discussed in greater detail below.

[0184] Use of the heat detection system 727 permits a hot spot of thefire to be continuously tracked and allows the aiming of the turret 610to be adjusted in accordance with movement of the hot spot. Thisincreases the efficiency of the fire fighting agent by placing the firefighting agent on the area that may need it the most (i.e. the activehot spot of the fire) rather than being placed on a cold or less activeregion of the fire.

[0185] Referring now to FIG. 21, in another embodiment, the fireposition indicator 635 is implemented using a laser tracking system 730.In an exemplary embodiment, the laser system 730 includes a laserdesignator 732 and a laser detector 734 as shown in FIG. 21.

[0186] The laser tracking system 730 is similar in concept to those usedin guidance systems such as missile guidance systems. The laserdesignator 732 is a handheld pointing device capable of being held by anoperator and pointed at region of interest, e.g., at or near a desiredtarget area of a fire. The laser designator 732 provides an area or spotof laser light on or near the target. The target reflects and scattersthe laser light spot. The laser detector 734 is preferably a camerawhich is sensitive to particular wavelengths of light (i.e. thewavelengths associated with the laser designator 732), and excludingother wavelengths. The laser detector 734 is capable of receiving thelaser light designating the region of interest after the laser light isreflected from the region of interest. When the laser detector 734detects the laser light, the laser light spot appears at a particularlocation in the image data acquired by the laser detector 734, with thelocation of the laser light spot in the image data being a function ofthe position of the reflected laser light spot relative to the laserdetector 734.

[0187] In a preferred embodiment, two laser detectors, 734 a and 734 b,are used. The preferred configuration is generally the same as thatdescribed in connection with the cameras 728 a and 728 b. Thus, thelaser detector 734 a is used for gross positioning and is mounted to thefire fighting vehicle so as to be aligned with the vehicle coordinatesystem shown in FIG. 13. The laser detector 734 b is mounted to thenozzle 631 and has an imaging plane which is perpendicular to the streamof fire fighting agent dispensed by the nozzle 631. Alternatively,multiple laser detectors may be mounted to the nozzle 631, similar tothe arrangement described above. Once the laser detection system 730 hasidentified the location of the area of interest in the fire in the imagedata, the laser detection system 730 uses a conversion module 735 toconvert the location of the area of interest in the image data intoposition information for use by the turret controller 660 in controllingthe turret 610, as will be described in greater detail below. For eachof the detectors 730 a and 730 b, the conversion module 735 provides theturret controller with X,Y values indicative of the distance (magnitudeand polarity) of the laser spot from the center of the image dataproduced by the respective camera 730 a, 730 b. The conversion module735 may also be integrated into the turret controller 660.

[0188] Referring back to FIG. 16, the operation of the turret targetingmodule 664 will now be described. In the turret targeting mode ofoperation, the turret targeting module 664 and the envelope controlmodule 662 in FIG. 16 are active, and the remaining modules 665, 668,670, 672, and 674 are inactive. The targeting module 664 module receivesthe position information from the fire position indicator 635 and, basedon the position information, determines whether the nozzle 631 should bemoved up, down, to the left, to the right, or some combination thereof.The turret targeting module 635 then generates signals that simulateinput signals from the joysticks 619, and these signals are provided tothe envelope control module 662. The envelope control module 662operates in the manner previously described, except that inputs arereceived from the turret targeting module 664 rather than from one ofthe operator interfaces 616. Thus, assuming the turret 610 is within thepermissible travel envelope, the envelope control module 662 relaysthese signals to the actuators 632; otherwise, the envelope controlmodule 662 intervenes to cause the turret 610 from leaving thepermissible travel envelope.

[0189] Referring now to FIG. 22, a flowchart describing the operation ofthe turret targeting module 664 is illustrated. For simplicity, it isassumed in the following discussion that θ1 is fixed (the base 624 isheld stationary) and θ5 is allowed to vary (the third arm 630 ishingedly moveable). Of course, a non-stationary base 624 may also beused.

[0190] At step 751 it is determined whether the target is in the imagegenerated by the turret mounted camera (either the camera 728 b or 734b). If the target happens to be within the field of view of the turretmounted camera, then the process proceeds directly to step 756,described in greater detail below.

[0191] Assuming the target is not within the field of view of the turretmounted camera, then the process proceeds to step 752. At step 752, anestimate of the position (X_(T), Y_(T), Z_(T)) of the target isdeveloped based on the image data from the gross positioning camera 728a or 734 a. The (X_(T), Y_(T), Z_(T)) value is considered to be anestimate because the accuracy of the value is limited by the fact thatthe value is generated based on information from a single camera andtherefore depth perception is limited. In an alternative embodiment, itmay be desirable to use multiple cameras mounted on the vehicle body inorder to allow a more accurate (X_(T), Y_(T), Z_(T)) value to beobtained and/or to allow the turret mounted cameras to be eliminated. Itis assumed that the fire fighting vehicle 620 is pointed generally inthe direction of the target, and that the field of view of the camera728 a or 734 a is sufficiently large that the target will be within thefield of view of the camera 728 a or 734 a. However, if the target isnot within the field of view of the camera 728 a or 734 a, then an erroris issued and it is necessary to reposition the fire fighting vehicle620 if it is desired to use the turret targeting module 664. In analternative embodiment, the camera 728 a or 734 a is mounted forrotation and/or other movement to improve the target-locating ability ofthe camera 728 a or 734 a.

[0192] Assuming the target is within the field of view of the grosspositioning camera 728 a or 734 a, then, at step 753, the turret 610 isbrought to a position (θ₁, θ₂, θ₃, θ₄, θ₅, and L) at which it isexpected that the turret 610 will be aimed at the target. At this point,the target should be within the field of view of the fine positioningcamera 728 b or 734 b. At step 754, it is determined whether the targetis in fact within the field of view of the fine positioning camera 728 bor 734 b. For example, for the heat detection system 727, it may beascertained whether the fine positioning camera 728 b is viewing aregion of the same temperature as the hot spot identified by the camera728 a. For the laser tracking system 730, it may be ascertained whetherthe fine positioning camera 734 b is viewing light within the range ofwavelengths of the laser light emitted by the laser designator 732. Ifthe target is not within the field of view of the fine positioningcamera 728 b or 734 b, the turret controller 660 is programmed to entera search mode (step 755) in which the turret controller 660 causes theturret 610 to move in a region surrounding the position (θ₁, θ₂, θ₃, θ₄,θ₅, and L) at which it is expected that the turret 610 will be aimed atthe target. The turret controller 660 then keeps moving the turret 610until the target enters the field of view of the fine positioning camera728 b or 734 b.

[0193] Once the target is within the field of view of the finepositioning camera 728 b or 734 b, the turret controller 660 attempts tocenter the target within the field of view of the fine positioningcamera 728 b or 734 b. For example, if it is assumed that ΔX is thedeviation of the target from the center of the field of view of the finepositioning camera 728 b or 734 b in the X dimension, and that ΔY is thedeviation of the target from the center of the field of view of the finepositioning camera 728 b or 734 b in the Y dimension (where the Xdimension and the Y dimension are defined in terms of the coordinatesystem of the fine positioning camera 728 b or 734 b), then ΔX and ΔYmay be used as feedback values in two respective feedback control loops.For example, if θ₁, θ₂, θ₃, and L are held constant, then a feedbackcontrol loop which varies θ₅ (nozzle left/right) to minimize ΔX andanother feedback control loop which varies θ₄ (nozzle up/down) tominimize ΔY may be employed. Thus, the position and orientation of thenozzle 631 is adjusted such that the nozzle 631 is aimed at the regionof interest and, at the same time, fire extinguishing agent is dispensedtoward the region of interest. Because this arrangement is implementedin the form of feedback control loops, the location of the region ofinterest may be continuously tracked and the position and orientation ofthe nozzle 631 may be continuously adjusted in response to movement ofthe region of interest (for example, due to cooling of a hot spot whenfire extinguishing agent is dispensed on the hot spot). Therefore, thenozzle 631 may remain pointed at the region of interest during movementof the region of interest.

[0194] When the turret targeting module 664 is used, expanded firefighting capabilities for the turret 610 are achieved. Using the fireposition indicator 635 to view the fire, and determine the location ofthe area of interest of the fire, improves the aim and effectiveness ofthe turret 610 in many situations.

[0195] 3. Turret Pan, Turret Deploy, and Turret Store

[0196] Referring again to FIG. 16, in addition to the envelope controlmodule 662 and the turret targeting module 664, the turret motioncontroller 660 further includes a learn module 665 which is used inconnection with a turret pan module 668, a turret deploy module 670, anda turret store module 672. The modules 665, 668, 670, 672 permit theturret controller 660 to store information such as position informationand then control movement of the turret 610 in accordance with thestored information.

[0197] First, the learn module 665 and the turret pan module 668 will bedescribed. At the scene of a fire, it is sometimes desirable to simplypan a turret back and forth across a general region. The turret panmodule 668 causes the turret 610 to move in a predetermined patternwhile the turret 610 dispenses a fire fighting agent toward the fire. Inthe pan mode of operation, the modules 665, 670, 672, and 664 as well asthe fire position indicator 635 are not active in FIG. 16. The envelopecontrol module 662 may be active as previously described.

[0198] In one embodiment, panning may be implemented by programming thepan module 668 to simulate inputs from the operator interface 616. Forexample, for a simple back and forth pattern, the operator may bepermitted to bring the turret 610 to a region of interest, and then theturret pan module 668 may generate signals based on stored informationthat cause the actuator 632 f to oscillate left and right. For acircular pattern, the actuator 632 e may also be used. To provideflexibility, operator inputs may be received that are used to controlthe amount of angular displacement and/or the amount of time the turretmoves in one direction (and therefore the distance traveled) beforereversing course. Alternatively, operator inputs may be simulated bystoring operator inputs as the operator moves the turret 610 in adesired pattern, and then retrieving the stored operator inputs andusing the stored operator inputs to generate additional control signalsfor the actuators 632 so as to cause the turret to repeat the patterncreated in response to the original inputs. In these embodiment, in FIG.16, the summation element 679 and the gain block 674 are not used (thatis, the signals from the turret pan module 668 feed through directly tothe envelope control module 662 as simulated joystick signals).

[0199] In another embodiment, for maximum flexibility, the operator isallowed to program a pan pattern into the turret pan module 668, andfeedback control is used to ensure that the turret 610 conforms to theprogrammed pattern. To this end, in an initial “learn” mode ofoperation, the turret controller 660 first learns the predeterminedpattern by monitoring operator inputs used to control movement of theturret 610. Specifically, and referring now to FIG. 23, FIG. 23 is aflowchart showing the learning mode of the turret controller 660. Atstep 761, operator inputs are acquired by one of the operator interfaces616. At step 762, the turret controller 660 moves the turret 610 in realtime in accordance with the operator inputs. At step 763, the positionof the turret 610 is measured using the position sensors 634. At step764, the position information acquired during step 763 is stored in theturret pan module 668. The position information is stored as a series ofwaypoints formed of simultaneously measured θ1, θ2, θ3, θ4, θ5 and L1values. Step 764 may occur in response to operator inputs or may occurat regular intervals. For example, if step 764 occurs in response tooperator inputs, the operator may periodically press a “store” button toindicate to the turret controller 660 that the operator wants the turret610 to periodically return to its current position. In this embodiment,the waypoints are stored in the form of θ1, θ2, θ3, θ4, θ5 and L1 valueswhich are measured by the position sensors 634 at the time the operatorinput is received. The operator moves from position to position andpresses the store button until a series of waypoints are defined. Forback and forth movement, as few as two waypoints may be used. For a morecomplex motion profile, such as a figure eight motion profile, a seriesof waypoints may be used. Alternatively, in another embodiment, theturret controller 660 may automatically store the position informationat periodic intervals as the turret 610 is controlled in response tooperator inputs. The process of FIG. 23 is then repeated until anoperator input is received indicating that the operator has completeddefining the predetermined pattern. It may be noted that, as is the caseelsewhere throughout this description, although steps 761-764 are shownas a series of steps to be performed, the steps 761-764 need notnecessarily be performed at the same update rate and therefore need notnecessarily be sequentially performed.

[0200] In one embodiment, the operator is provided with a user interfacethat allows the operator to program an oscillate range and that alsoprovides visual feedback regarding the selected oscillate range. Forexample, the display 618 may display one or more bars that indicate aprogrammed range of oscillation. For example, if the nozzle 631 is toremain level but oscillate back and forth to the left and right, one barmay be used to indicate a range of oscillation to the right from centerand another bar may be used to indicate a range of oscillation to theleft from center. Alternatively a single bar centered about zero degreesmay be used. Operator inputs (e.g., operator touches on a keypad) may bethen received that cause the turret pan module 668 to vary the range ofoscillation in accordance with the operator inputs, and also to updatethe status bars to reflect the newly programmed range of oscillation. Ifdesired, this information may be stored in non-volatile memory andavailable upon system power up, and reset and default buttons may alsobe provided to allow the turret pan module 668 to revert to a defaultsetting. Control of turret movement may then be effected, for example,through the use of simulated joystick inputs or position waypoints, aspreviously described.

[0201] Referring now also to FIG. 24, in a second mode of operation, theturret controller 660 causes the turret 610 to repetitively move inaccordance with the predetermined pattern programmed during steps761-764. Thus, at step 766, one of the series of waypoints stored duringstep 764 is provided as input to a feedback control system. The θ1, θ2,θ3, θ4, θ5 and L1 values of the active waypoint are used as positioncommand inputs in a position feedback control loop implemented in partby the turret motion controller 660. Referring to FIG. 25, FIG. 25 showsthe feedback control system of FIG. 16 in greater detail. Forsimplicity, the modules 662, 664, 665, 670, and 672 are not shown inFIG. 25. The feedback control system comprises one feedback control loopfor each axis of movement. The θ1, θ2, θ3, θ4, θ5 and L1 values asposition command inputs to a series of summation elements 679 a-679 f(shown collectively in FIG. 16 as the summation element 679). Each ofthe position sensors 634 a-634 f measures the θ1, θ2, θ3, θ4, θ5 and L1values (step 727). These measurements are provided to the summationelements 679 a-679 f, which compare the measured turret position withthe position information received from the turret pan module 668. Theoutput of each summation element 679 a-679 f is a position error signaland is provided to a respective gain block (e.g., aproportional-integral block) 674 a-674 f. The outputs of the PI blocks674 a-674 f are used as output signal for a respective one of theactuators 632 a-632 f. The feedback control loop controls the turret soas to reduce a difference between the measured position of the turretand the active waypoint. When the turret 610 is beginning to approachthe active waypoint, a new waypoint is provided by the turret pan module668 to the summation elements 679 a-679 f, such that the turret 610 issuccessively delivered to the series of waypoints. When the finalwaypoint is reached, the process repeats starting with the firstwaypoint.

[0202] The arrangement of FIGS. 23-25 allows the shape and time-profileof the panning pattern to be fully configurable and fully programmable,especially if the waypoints are stored at regular intervals rather thanin response to operator inputs. Specifically, the operator is permittedto move the turret 610 so as to aim the turret at a particular location(e.g., hot spot) of the fire, linger at the particular location, andthen move the turret to the next location (e.g., another hot spot). Theturret controller 660 is then able to move the turret 610 to each of thehot spots, regardless whether they are aligned with each other, andcause the turret 610 to linger at each hot spot in the same manner andfor the same amount of time as originally programmed by the operator.

[0203] The turret deploy module 670 is used to deploy the turret from astore position in which the turret 610 is stored for vehicle travel to adeploy position in which the turret 610 deploys a fire fighting agent.Typically, the turret 610 is stored in a locked position during travelof the fire fighting vehicle 620. Upon arrival to the scene of a fire,the turret deploy module 670 allows the turret 610 to be deployed to apredetermined position with minimum operator involvement.

[0204] The turret deploy module 670 operates in a manner which isgenerally similar to the turret pan module 668. The turret deploy module670 may store a sequence of control signals to be provided to theactuators 632 or may store a series of position waypoints that aresequentially provided to multiple feedback control loops, as previouslydescribed. The turret deploy module 670 may be preconfigured beforevehicle deployment and/or may be configured by an operator. For example,if the turret deploy module is preconfigured, one or more deploypositions may be preprogrammed in the turret deploy module 670. If theturret deploy module 670 is configured by the operator, one or moredeploy positions or deploy movement patterns may be stored by theoperator as described above in connection with the turret pan module668. The turret deploy module 670 may also provide the operator with theability to enter a desired position and orientation of the nozzle 631relative to the vehicle 620. This allows the operator to define thedesired deploy position as the vehicle 620 approaches the scene of afire in situations where information regarding the scene of the fire isknown prior to vehicle arrival at the scene of the fire.

[0205] Upon arriving at the scene of a fire, an operator input isreceived indicating that the operator wishes to turret deploy the turret610. Turret deployment may begin immediately or, for fire fightingvehicles with outrigger assemblies, turret deployment may be programmedto begin automatically after outrigger deployment is complete. If theturret deploy module 670 stores simulated joystick commands, the turret610 may be deployed by retrieving the stored information and using theinformation to generate control signals provided to the actuators 632 byway of the envelope control module (with the summation element 679 andthe PI gain block 674 being inactive). If the turret deploy modulestores θ1, θ2, θ3, θ4, θ5 and L1 values for the deploy position, thesevalues may be provided to the feedback control loops shown in FIG. 25 tocause the turret controller 660 to move the turret 610 to the deployposition in closed loop fashion. A series of θ1, θ2, θ3, θ4, θ5 and L1values (waypoints) may also be used if a particular deploy trajectory isdesired.

[0206] The turret store module 672 is used to move the turret 610 from adeploy position in which the turret is positioned to dispense a firefighting agent on a region of interest to a store position in which theturret is stored for vehicle travel. Turrets mounted on top of firefighting vehicles are often stored between the emergency lights.Therefore, the emergency lights are particularly susceptible to damageduring the process of storing the turret, given the proximity of theturret to the emergency lights. The turret store module 672 avoids suchdamage assisting storage of the turret 610. For example, in oneembodiment, the turret store module 672 stores the θ1, θ2, θ3, θ4, θ5and L1 values for the store position, these values are provided to thefeedback control loops shown in FIG. 25 to cause the turret controller660 to move the turret 610 to the store position in closed loop fashion.A series of θ1, θ2, θ3, θ4, θ5 and L1 values (waypoints) may also beused if a particular store trajectory is desired which avoids damagingother structure on the vehicle 620. Once the turret 610 reaches thestore position, the turret store module 672 causes an actuator to engagewhich is coupled to a lock mechanism. This allows the turret 610 to belocked in place after the turret 610 reaches the store position withminimal operator involvement.

[0207] The turret controller 660 may also be used to implement otherfeatures. For example, the turret controller 660 may be used toimplement an nozzle leveling feature in which the nozzle 631 ismaintained in the horizontal position regardless of boom angle. Thisallows the nozzle 631 to remain aimed at a fire during boom movement.

[0208] 4. Operator Interface

[0209] Referring now to FIG. 26, an embodiment of the control system 612is shown wherein two turrets 731 and 732 are provided. Both turretsoperate in the same manner as the turret 610, although at least one ofthe turrets 731, 732 may be constructed differently and may be mountedin a different location, such as a bumper turret mounted on a bumper ofthe fire fighting vehicle 620. Also shown are the operator interfaces616 and the turret controller 660, which includes structure thatduplicates the structure shown in FIG. 16 for the additional turret.(That is, duplicate turret controllers 660, operating in parallel andrespectively coupled to the turrets 731, 732, are used. For simplicity,a single turret controller 660 is shown in FIG. 26.)

[0210] As previously noted, the operator interfaces 616 each includerespective joysticks 619 a and 619 b. Typically, the joysticks 619 a,619 b may be mounted at different locations on the vehicle (such as inthe cab and at on operator panel elsewhere on the vehicle) and thereforeone of the joysticks 619 a, 619 b may be at a location that has bettervisibility than the location of the other of the joysticks 619 a, 619 b.Each joystick 619 a, 619 b is coupled to respective interface modules613 c and 613 d, and there is no inherent difference between thejoysticks 619 a, 619 b other than vehicle location.

[0211] In order to take advantage of the multiple joysticks, the turretcontroller 660 is capable of reconfiguring itself (e.g., in response tooperator inputs) to thereby provide the operator with the ability to useeither of the joysticks 619 to control either of the turrets 771, 772.Thus, in a first mode of operation of the turret controller 660, theturret controller 660 controls the position and orientation of thenozzle of the turret 771 based on operator inputs acquired by thejoystick 619 a, and controls the position and orientation of the nozzleof the turret 772 based on operator inputs acquired by the joystick 619b. In a second mode of operation, an opposite arrangement may be used(wherein the turret controller 660 controls the position and orientationof the nozzle of the turret 771 based on operator inputs acquired by thejoystick 619 b, and controls the position and orientation of the nozzleof the turret 772 based on operator inputs acquired by the joystick 619a.) In a third mode of operation, the turret controller 660 controls theposition and orientation of the nozzles of both the turrets 771 and 772based on operator inputs acquired by a single one of the joysticks 619a, 619 b. In other words, both turrets 771, 772 are synchronized to thesame joystick 619 a or 619 b. This allows both turrets 771, 772 to beaimed at different areas but move in tandem in response to operatorinputs from a single joystick 619 a or 619 b, for example, when panningthe turrets back and forth near a region of the fire. Alternatively, theturret controller 660 may be configured to control a first one of theturrets 771, 772 directly in response to operator inputs and to controla second one of the turrets 771, 772 such that the second turret 771,772 tracks movement of the first turret 771, 772 and dispenses firefighting agent on the same location as the first turret 771, 772. Thedisplay 618 a, 618 b associated with each of the respective joysticks619 a, 619 b is used to indicate to the operator the currentconfiguration of the turret controller 660, that is, which joysticks 619a, 619 b are useable to control which turrets 771, 772.

[0212] Also shown in FIG. 26 is an additional operator interface 773which includes an additional joystick 774 and an additional display 775.The operator interface 773 is identical to the operator interfaces 616,and operates in the same manner as the operator interfaces 616, exceptthat it is coupled to the control system 612 by way of a wireless (e.g.,radio-frequency) communication link. According to one embodiment, theadditional operator interface 773 is implemented using a personaldigital assistant or other handheld computer and joystick operation issimulated using a touch screen interface of the handheld computer. Thisallows an operator to have significant mobility at the scene of a firewhile controlling one or both of the turrets 771, 772. Alternatively, ifthe network features described above in connection with FIGS. 34-67 areemployed of U.S. Prov. No. 60/360,479 and U.S. Ser. No. 10/326,907, thenthe wireless communication link of FIG. 26 may be a wireless connectionthat is implemented using the Internet. For example, with reference toFIG. 34 of U.S. Prov. No. 60/360,479 and U.S. Ser. No. 10/326,907, thiswould allow an operator viewing the display 148 at the dispatch station116 or fire fighting facility to view the fire in progress and use theremote operator interface 773 to control one or both of the turrets 771,772. For municipalities with multiple fire stations, this allows themunicipality to have a fire fighter from any fire station assist in thefire fighting effort without necessarily having the fire fighter travelto the scene of the fire.

[0213] Referring again to FIG. 16, in another embodiment, in order toprovide improved operator feedback, the displays 618 provide a renderingof the position and orientation of turret 610 relative to the remainderof the vehicle 620. As previously noted, in some cases, it is difficultfor an operator to see the exact location and orientation of the turret610, for example, because smoke obscures the operator's vision, orbecause the operator is located inside an operator compartment of thefire fighting vehicle and the position/orientation of the turret 610 isnot visible inside the operator compartment. This problem is exacerbatedif the control system 612 cannot accurately respond to operator commandsbecause the water pressure is so great that the actuators 632 do nothave the power to overcome the water pressure and move the turret 610.

[0214] To address this problem, the real-time position of the turret 610acquired by the position sensors 634 is used by the turret controller660 to calculate the position and orientation of the arms 626-630 aswell as the nozzle 631. Based on this information, the turret controller660 generates image data for one or both of the displays 618 whichcauses the display 618 to provide a rendering of the position andorientation of each arm 626, 628, 630 of the turret 610 relative to thefire fighting vehicle 620. Multiple display regions may be used todisplay the position and orientation of the nozzle 631 and the positionand orientation of the arms 626-630. Alternatively, a single 3-Drendering may be displayed. Preferably, operator inputs may be receivedthat allow the turret 610 and the vehicle 620 to be viewed fromdifferent angles. A sensor (e.g., dual camera or ultrasonic array) maybe used to gather data useable to depict other objects such as buildings(in the case of municipal fire fighting vehicles) or airplanes (in thecase of ARFF vehicles) on the display 618.

[0215] In another embodiment, shown in FIG. 27, the turret controller660 includes a turret flow rate feedback control loop 781 as shown. Theturret flow rate control loop 781 is used to maintain constant flow rateof fire extinguishing agent from the turret nozzle 631 by compensatingfor various vehicle parameters. A number of vehicle parameters may varyand, as a result, cause a variation in the flow rate of the fireextinguishing agent. For example, in a pump and roll situation, the firetruck is pumping water and moving at the same time (e.g., to move thefire truck closer to the fire). The varying engine RPM and diversion ofpower to the drive train causes variations in pressure which in turncause significant variations in flow rate. The flow rate control loop781 adjusts the flow rate to make the flow rate constant even when theengine RPM varies.

[0216] Block 782 stores information pertaining to an operator inputpertaining to flow rate. As indicated by block 782, the desired flowrate is continuously adjustable to provide a wide range of availableflow rates. A feedback sensor 783 obtains flow rate feedback. Thefeedback sensor 783 may be a flow rate sensor or a sensor that monitorsa remaining amount of fire extinguishing agent, for example. Visualfeedback (e.g., a displayed flow rate) may then be provided to theoperator using one of the displays 618.

[0217] In another embodiment, the turret control system 612 is at leastpartially self-calibrating. When a mechanical component of the turretassembly is replaced (such as one of the arms 626-630, position sensors634, or limit switches 636), the control system 612 recalibrates itselfin the field with a minimal amount of equipment. For example, tocalibrate a new position sensor 634, the turret controller 660 providescontrol signals to the corresponding actuator 632 to cause the actuator632 to move the turret to both limits of motion for the axis in whichthe position sensor 634 was replaced. Thus, if the position sensor 634 fis replaced, the turret controller 660 provides the actuator 632 f withcontrol signals that cause the actuator 632 f to move the turret arm 630full right and then full left. The new position sensor 634 f is thencalibrated by monitoring the output of the position sensor 634 f at thelimits of motion and storing this information.

[0218] In another embodiment, the operator interface 616 includes avoice recognition module comprising voice recognition software orembedded logic to allow user inputs to be provided by the user in theform of voice commands and received by a suitable microphone or otherpickup device. The voice recognition logic then interprets the voicecommands to produce suitable signals for controlling the turret 610. Forexample, rather than pushing up on the joystick 619, an operator may beprovided with the ability to state the word “up,” and the voicerecognition logic then interprets the word “up” spoken by the operatorand in response produces an output that mimics the output produced bythe joystick 619 when the operator presses up on the joystick. Theturret motion controller 660 then controls movement of the turret 619 inaccordance with the voice commands provided by the operator. In general,such a voice recognition module may be used to replace or supplement anyof the operator input devices described herein.

[0219] As previously indicated, the turret control system 612 of FIGS.13-27 may be combined with the other features described in of U.S. Prov.No. 60/360,479 and U.S. Ser. No. 10/326,907. For example, in connectionwith parts ordering features, the limit switches 636 may be used todetect failure of one or more of the position sensors 634, and/or theposition sensors 634 may be used to detect failure of one or more of theposition switches 636. Upon detecting such failure, the control system612 can proceed with ordering replacement parts.

[0220] Throughout the specification, numerous advantages of preferredembodiments have been identified. It will be understood of course thatit is possible to employ the teachings herein so as to withoutnecessarily achieving the same advantages. Additionally, although manyfeatures have been described in the context of a vehicle control systemcomprising multiple modules connected by a network, it will beappreciated that such features could also be implemented in the contextof other hardware configurations. Further, although various figuresdepict a series of steps which are performed sequentially, the stepsshown in such figures generally need not be performed in any particularorder. For example, in practice, modular programming techniques are usedand therefore some of the steps may be performed essentiallysimultaneously. Additionally, some steps shown may be performedrepetitively with particular ones of the steps being performed morefrequently than others. Alternatively, it may be desirable in somesituations to perform steps in a different order than shown.

[0221] As previously noted, the construction and arrangement of theelements of the turret control system shown in the preferred and otherexemplary embodiments are illustrative only. Although only a fewembodiments of the present inventions have been described in detail inthis disclosure, those skilled in the art who review this disclosurewill readily appreciate that many modifications are possible withoutmaterially departing from the novel teachings and advantages of thesubject matter recited in the claims. Accordingly, all suchmodifications are intended to be included within the scope of thepresent invention as defined in the appended claims. In the claims, anymeans-plus-function clause is intended to cover the structures describedherein as performing the recited function and not only structuralequivalents but also equivalent structures. Other substitutions,modifications, changes and omissions may be made in the design,operating conditions and arrangement of the preferred and otherexemplary embodiments without departing from the scope of the presentinventions as expressed in the appended claims.

What is claimed is:
 1. A method of controlling a turret mounted on afire fighting vehicle, comprising: storing information in a turretmotion controller, the information pertaining to a desired movement ofthe turret; and controlling movement of the turret using the turretmotion controller, the movement of the turret being controlled inaccordance with the information.
 2. The method according to claim 1,wherein the information pertains to a deploy position, the deployposition being a position in which the turret is positioned to dispensea fire fighting agent on a region of interest; and wherein, during thecontrolling step, the turret is delivered from a store position to thedeploy position, the store position being a position in which the turretis stored for vehicle travel.
 3. The method according to claim 2,wherein the information for the deploy position is stored in the turretcontroller in response to operator inputs, and wherein the methodfurther comprises acquiring operator inputs that define a plurality ofdeploy positions.
 4. The method according to claim 2, wherein theinformation for the deploy position is stored in the turret controllerin response to operator inputs, and wherein the operator inputs areacquired as the fire fighting vehicle approaches the scene of a fire. 5.The method according to claim 1, wherein the controlling step comprisescausing the turret to move in a predetermined pattern.
 6. The methodaccording to claim 1, further comprising in a first mode of operation,acquiring operator inputs and causing the turret to move in a pattern inaccordance with the operator inputs, wherein the causing step isperformed in real time as the operator inputs are acquired; then in asecond mode of operation, causing the turret to move in accordance withthe pattern, wherein the causing step is performed based on informationstored during the first mode of operation, such that turret movement iscontrolled based on previously acquired operator inputs.
 7. The methodaccording to claim 1, wherein the information is information pertainingto a motion profile for repetitively moving the turret in accordancewith a pattern; wherein, during the controlling step, the turret isrepetitively moved in accordance with the pattern; and wherein themethod further comprises dispensing a fire fighting agent from theturret while the turret is moving in accordance with the pattern.
 8. Themethod according to claim 1, wherein the information pertains to a storeposition, the store position being a position in which the turret isstored for vehicle travel; and wherein, during the controlling step, theturret is delivered from a deploy position to the store position, thedeploy position being a position in which the turret is positioned todispense a fire fighting agent on a region of interest.
 9. The methodaccording to claim 8, further comprising engaging an actuator when theturret reaches the store position, the actuator being coupled to a lockmechanism that locks the turret in place after the turret reaches thestore position.
 10. The method according to claim 1, wherein thecontrolling step comprises guiding the turret to a store position, andwherein the method further comprises providing a signal to a lockmechanism to cause the lock mechanism to lock the turret in place in thestore position.
 11. The method according to claim 1, wherein the turretcomprises an adjustable mount assembly and a turret nozzle, theadjustable mount assembly being mounted to the chassis and vehicle bodycombination, the mount assembly including a fire-extinguishing agentdelivery system capable of transporting a fire-extinguishing agentthrough the mount assembly, the turret nozzle being mounted to theadjustable mount assembly, and the turret nozzle being capable ofreceiving the fire-extinguishing agent from the mount assembly; whereinthe fire fighting vehicle comprises a power distribution and controlsystem, the power distribution and control system further including a 11power source, a power transmission link, a plurality of output devices,a plurality of input devices, a communication network, and a pluralityof interface modules; wherein the plurality of output devices includinga plurality of actuators capable of adjusting the mount assembly toadjust the position and orientation of the turret nozzle; wherein theplurality of input devices including a plurality of position indicatorscapable of providing position information pertaining to the position andorientation of the nozzle, and the plurality of input devices furtherincluding an input device associated with an operator interface; whereinthe plurality of interface modules are coupled to the power source byway of the power transmission link, the plurality of interface modulesbeing interconnected to each other by way of the communication network,and the plurality of interface modules being coupled to the plurality ofinput devices and to the plurality of output devices by way ofrespective dedicated communication links, and the plurality of interfacemodules including one or more interface modules that are coupled to theplurality of position sensors, the plurality of actuators, and the inputdevice associated with an operator interface; and wherein the turretcontroller comprises at least one of the plurality of interface modules.12. The method according to claim 1, wherein the information comprises aseries of waypoints, and wherein the controlling step comprisessuccessively delivering the turret to the series of waypoints.
 13. Themethod according to claim 12, wherein the series of waypoints are storedduring an operator programming mode of the turret controller; wherein,during the operator programming mode, the turret is controlled inresponse to operator inputs and measurements of the position of heturret are repetitively acquired; and wherein the series of waypointsare stored based on the measurements of the position of the turretacquired during the operator programming mode.
 14. The method accordingto claim 13, wherein the controlling step comprises (1) providing one ofthe series of waypoints as input to a feedback control system, thefeedback control system being at least partially implemented by theturret controller; (2) measuring the position of the turret; (3)comparing the measured position of the turret with the one of the seriesof waypoints; (4) controlling the turret so as to reduce a differencebetween the measured position of the turret and the one of the series ofwaypoints; and (5) repeating steps (1)-(4) for remaining ones of theseries of waypoints.
 15. The method of claim 1, wherein the turretcomprises first arm and second arms.
 16. The method of claim 1, whereinthe turret comprises a first arm, a second arm, and a third arm, andwherein the second arm is hingedly moveable relative to the first armand the third arm is hingedly moveable relative to the second arm. 17.The method of claim 1, wherein the information is used to generate firstcontrol signals to control motion of the turret, the informationdirecting movement of the turret in such a way that the turret issusceptible to impacting the fire fighting vehicle; and wherein themethod further comprises preventing the turret from impacting the firefighting vehicle, including determining that the turret is susceptibleto impacting the fire fighting vehicle, and in response to thedetermining step, providing the turret with second control signals thatare different than the first control signals, the second control signalsdirecting movement of the turret in such a way that the turret does notimpact the fire fighting vehicle.
 18. A fire fighting vehiclecomprising: (A) a chassis and a vehicle body mounted on the chassis, thechassis and vehicle body in combination including an operatorcompartment capable of receiving a human operator, the operatorcompartment including steering and throttle controls for receivingoperator inputs to control movement of the fire fighting vehicle along aroad; (B) a turret including (1) an adjustable mount assembly, theadjustable mount assembly being mounted to the chassis and vehicle bodycombination, and the mount assembly including a fire-extinguishing agentdelivery system capable of transporting a fire-extinguishing agentthrough the mount assembly; (2) a turret nozzle, the turret nozzle beingmounted to the adjustable mount assembly, and the turret nozzle beingcapable of receiving the fire-extinguishing agent from the mountassembly; and (C) a turret control system, the turret control systemincluding a plurality of actuators capable of adjusting the mountassembly to permit the position and orientation of the turret nozzle tobe adjusted, the turret control system further including a turretcontroller coupled to the plurality of actuators, the turret controllerstoring position information pertaining to a desired position of theturret; and the turret controller being programmed to control movementof the turret using the turret motion controller, the movement of theturret being controlled in accordance with the position information. 19.The vehicle according to claim 18, wherein the position informationpertains to a deploy position, the deploy position being a position inwhich the turret is positioned to dispense a fire fighting agent on aregion of interest; and wherein turret controller is programmed to causethe turret to move from a store position to the deploy position, thestore position being a position in which the turret is stored forvehicle travel.
 20. The vehicle according to claim 19, wherein turretcontroller is programmed to store the position information for thedeploy position based on operator inputs, and wherein the turretcontroller is programmed to store a plurality of deploy positions. 21.The vehicle according to claim 19, wherein turret controller isprogrammed to store the position information for the deploy positionbased on operator inputs, and wherein the turret controller isprogrammed to acquire the operator inputs as the fire fighting vehicleapproaches the scene of a fire.
 22. The vehicle according to claim 18,wherein the turret controller is programmed to cause the turret to movein a fixed predetermined pattern.
 23. The vehicle according to claim 18,further comprising in a first mode of operation, the turret controlleris programmed to acquire operator inputs and causes the turret to movein a pattern in accordance with the operator inputs, the turretcontroller causing the turret to move in real time as the operatorinputs are acquired; then in a second mode of operation, the turretcontroller is programmed to cause the turret to move in accordance withthe pattern, the turret controller causing the turret to move based oninformation stored during the first mode of operation, such that theturret controller controls turret movement based on previously acquiredoperator inputs.
 24. The vehicle according to claim 18, wherein theposition information is information pertaining to a motion profile forrepetitively moving the turret in accordance with a pattern; wherein theturret controller is programmed to cause the turret to repetitively movein accordance with the pattern; and wherein the turret controller isprogrammed to cause the turret to dispense a fire fighting agent fromthe turret while the turret is moving in accordance with the pattern.25. The vehicle according to claim 18, wherein the position informationpertains to a store position, the store position being a position inwhich the turret is stored for vehicle travel; and wherein the turretcontroller is programmed to cause the turret to move a deploy positionto the store position, the deploy position being a position in which theturret is positioned to dispense a fire fighting agent on a region ofinterest.
 26. The vehicle according to claim 25, wherein the turretcontroller is programmed to engage an actuator when the turret reachesthe store position, the actuator being coupled to a lock mechanism thatlocks the turret in place after the turret reaches the store position.27. The vehicle according to claim 18, wherein the turret controller isprogrammed to guide the turret to a store position, and wherein theturret controller is programmed to provide a signal to a lock mechanismto cause the lock mechanism to lock the turret in place in the storeposition.
 28. The vehicle according to claim 18, wherein the firefighting vehicle comprises a power distribution and control system, thepower distribution and control system further including a power source,a power transmission link, a plurality of output devices, a plurality ofinput devices, a communication network, and a plurality of interfacemodules; wherein the plurality of actuators are among the plurality ofoutput devices; wherein the plurality of input devices including aplurality of position indicators capable of providing positioninformation pertaining to the position and orientation of the nozzle,and the plurality of input devices further including an input deviceassociated with an operator interface; wherein the plurality ofinterface modules are coupled to the power source by way of the powertransmission link, the plurality of interface modules beinginterconnected to each other by way of the communication network, andthe plurality of interface modules being coupled to the plurality ofinput devices and to the plurality of output devices by way ofrespective dedicated communication links, and the plurality of interfacemodules including one or more interface modules that are coupled to theplurality of position sensors, the plurality of actuators, and the inputdevice associated with an operator interface; and wherein the turretcontroller comprises at least one of the plurality of interface modules.29. The vehicle according to claim 18, wherein the position informationcomprises a series of waypoints in the turret controller, and whereinthe turret controller is programmed to cause the turret to besuccessively delivered to the series of waypoints.
 30. The vehicleaccording to claim 29, wherein the series of waypoints are stored duringan operator programming mode of the turret controller; wherein, duringthe operator programming mode, the turret controller is programmed tocontrol the turret in response to operator inputs and repetitivelyacquire measurements of the position; and wherein the series ofwaypoints are stored based on the measurements of the position of theturret acquired during the operator programming mode.
 31. The vehicleaccording to claim 30, wherein the turret controller is programmed to(1) provide one of the series of waypoints as input to a feedbackcontrol system, the feedback control system being at least partiallyimplemented by the turret controller; (2) measure the position of theturret; (3) compare the measured position of the turret with the one ofthe series of waypoints; (4) control the turret so as to reduce adifference between the measured position of the turret and the one ofthe series of waypoints.
 32. The vehicle according to claim 18, whereinthe turret comprises first arm and second arms.
 33. The vehicleaccording to claim 18, wherein the turret comprises a first arm, asecond arm, and a third arm, and wherein the second arm is hingedlymoveable relative to the first arm and the third arm is hingedlymoveable relative to the second arm.
 34. The vehicle according to claim18, wherein the turret controller is programmed to use the positioninformation to generate first control signals to control motion of theturret, the position information directing movement of the turret insuch a way that the turret is susceptible to impacting the fire fightingvehicle; and wherein the turret controller is further programmed toprevent the turret from impacting the fire fighting vehicle, includingbeing programmed to determine that the turret is susceptible toimpacting the fire fighting vehicle, and in response, provide the turretwith second control signals that are different than the first controlsignals, the second control signals directing movement of the turret insuch a way that the turret does not impact the fire fighting vehicle.35. A fire fighting vehicle comprising: (A) a turret comprising (1) anadjustable mount assembly, the adjustable mount assembly being mountedto the chassis and vehicle body combination, and the mount assemblyincluding a fire-extinguishing agent delivery system capable oftransporting a fire-extinguishing agent through the mount assembly, (2)a turret nozzle, the turret nozzle being mounted to the adjustable mountassembly, and the turret nozzle being capable of receiving thefire-extinguishing agent from the mount assembly, and (B) a powerdistribution and control system, the power distribution and controlsystem further including (1) a power source; (2) a power transmissionlink; (3) a plurality of output devices, the plurality of output devicesincluding a plurality of actuators capable of adjusting the mountassembly to adjust the position and orientation of the turret nozzle,(4) a plurality of input devices, the plurality of input devicesincluding a plurality of position indicators capable of providingposition information pertaining to the position and orientation of thenozzle, and the plurality of input devices further including an inputdevice associated with an operator interface, (5) a communicationnetwork, and (6) a plurality of microprocessor-based interface modules,the plurality of interface modules being coupled to the power source byway of the power transmission link, the plurality of interface modulesbeing interconnected to each other by way of the communication network,and the plurality of interface modules being coupled to the plurality ofinput devices and to the plurality of output devices by way ofrespective dedicated communication links, and the plurality of interfacemodules including one or more interface modules that are coupled to theplurality of position sensors, the plurality of actuators, and the inputdevice associated with an operator interface; and wherein the pluralityof interface modules, the plurality of input devices, and the pluralityof output devices are distributed throughout the fire fighting vehicle;and wherein each respective interface module is locally disposed withrespect to the respective input and output devices to which therespective interface module is coupled so as to permit distributed datacollection from the plurality of input devices and distributed powerdistribution to the plurality of output devices; wherein the one or moreinterface modules is programmed to store position information pertainingto a desired position of the turret, and to control movement of theturret in accordance with the position information.